옥스턴님의 면접 결과

60

총점

3

질문 수

0

좋아요

6

조회수

종합 평가

JPA 연관관계 매핑에 대한 체계적이고 정확한 이해를 보여주셨습니다. 특히 mappedBy의 역할과 연관관계 주인 개념을 실무적 관점에서 명확히 설명하는 능력이 뛰어납니다. 개념 설명은 정확하지만 구체적인 예시나 실제 코드 상황을 통한 설명이 보완되면 더욱 완성도 높은 답변이 될 것입니다. JPA 연관관계 매핑의 내부 동작 원리, 특히 외래키 제약조건과 성능 최적화 관점에서의 설계 원칙을 학습한 뒤 실제 엔티티 설계 시나리오로 확장해보시길 권합니다.

질문별 상세 분석

커뮤니티 공개
Q1A

@ManyToOne , @OneToMany , @OneToOne 어노테이션에 대해 설명해주세요.

응답 내용

JPA Entity에서 관계를 맺는 중요한 어노테이션입니다. @ManyToOne은 다대일 관계, @OneToMany는 일대다 관계, @OneToOne은 일대일 관계를 말합니다. 여기서 중요한건 mappedBy를 어디에 적느냐인데, 결론은 외래키가 없는 쪽에 작성합니다.

AI 피드백

JPA 관계 어노테이션의 기본 개념과 mappedBy의 핵심 원리를 정확히 설명해주셨습니다. 특히 "외래키가 없는 쪽에 mappedBy를 작성한다"는 점을 명확히 짚어주신 것이 좋았습니다. 한 단계 더 깊이 들어가면, 각 관계에서 연관관계의 주인(owning side)과 역방향(inverse side)의 개념, 그리고 fetch 전략(LAZY/EAGER)과 cascade 옵션들이 실제 쿼리 성능에 미치는 영향까지 함께 고려해보시면 더욱 완성도 높은 답변이 될 것 같습니다. N+1 문제나 양방향 관계에서의 무한루프 방지 같은 실무적 고려사항들도 추가로 학습해보시길 권합니다.

Q2A

mappedBy 속성이 JPA에서 어떤 역할을 하나요?

응답 내용

이 필드는 연관관계의 주인이 아님을 명시합니다. 즉 참조되고 있는 객체가 읽기전용이고, db에 반영되려면 반대편에서 수정하고 저장해야 한다는 사실을 명시적으로 나타내줍니다. 만약 이게 적혀있지 않으면 읽기전용 엔터티의 변경사항을 db에 반영하려는 시도를 하면서 joinTable이나 양쪽에 외래키를 만드는 일이 발생할 수 있습니다.

AI 피드백

mappedBy의 핵심 역할인 연관관계 주인 설정과 읽기전용 특성을 정확히 설명해주셨고, 특히 mappedBy가 없을 때 발생하는 중간 테이블 생성 문제까지 언급한 점이 실무적 이해를 보여줍니다. 한 단계 더 깊이 들어가면 연관관계 주인(owning side)과 비주인(inverse side) 간의 데이터 동기화 시점, 즉 언제 flush가 발생하여 실제 DB에 반영되는지와 영속성 컨텍스트에서의 동작 방식을 살펴보시면 좋겠습니다. cascade 옵션과 fetch 전략이 이러한 관계 매핑에서 어떤 역할을 하는지도 함께 학습해보시길 권합니다.

Q3A

JPA에서 연관관계의 주인은 어떻게 결정되나요?

응답 내용

외래키가 있는 쪽이 연관관계의 주인입니다. mappedBy가 없는 쪽, 외래키가 있는 쪽이 연관관계의 주인이 됩니다.

AI 피드백

외래키가 있는 쪽이 연관관계의 주인이라는 핵심 원칙을 정확히 짚어주셨고, mappedBy 유무로 구분하는 실무적 기준도 함께 제시해 완벽한 답변입니다. 한 단계 더 깊이 들어가면 왜 외래키 쪽이 주인이 되어야 하는지 데이터베이스 관점에서의 이유(외래키 제약조건 관리, 성능 최적화 등)를 설명할 수 있다면 더욱 탄탄한 이해를 보여줄 수 있을 것입니다. 연관관계 매핑의 내부 동작 원리까지 학습해보시길 권합니다.

커뮤니티 공유 안내

• 이 결과는 AI가 분석한 내용이며, 학습 목적으로 커뮤니티에 공유됩니다.

• 좋아요를 눌러 유용한 답변에 반응을 남겨보세요.

• 개인정보는 포함되지 않으며, 면접 연습 개선을 위한 참고 자료로 활용됩니다.