인프런 커뮤니티 질문&답변

ym Kim님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

34강. JPA 연관관계에 대한 추가적인 기능들

연관관계의 주인을 파악하는 방법에 대해 궁금한 점이 있습니다.

해결된 질문

23.08.02 09:39 작성

·

238

2

연관관계의 주인은 곧 외래키를 갖고 있는 테이블이 그 연관관계의 주인으로 이해가 됩니다.

SQL문의 create table을 통해서 보면 외래키가 명확하게 드러나서 연관관계의 주인이 누구인지 파악이 비교적 수월한데, JPA의 코드를 통해 보면 누가 관계의 주인인지 잘 모르겠습니다.

물론 그것을 파악하기 쉬우라고 mappedBy를 이용해서 주인이 아니라는 것을 표시한다는 것은 알겠는데, 만약 이것이 안적혀 있더라도, 코드만 보고 관계의 주인을 파악하는 방법이 있을까요?

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

2023. 08. 02. 14:34

안녕하세요! 크으~~ 좋은 질문이십니다~~ 👍 질문 주신 내용으로 미루어 볼 때 연관관계의 주인 개념은 확실히 잡으신 것 같아요!!

"코드만 보고 관계의 주인을 파악하는 방법이 있을까요?"에 대해 바로 답변을 드려보자면

  • mappedBy 옵션을 보고 확인하는 방법이 유일할 것 같은데요, mappedBy 옵션이 없으면 연관관계 기능이 잘 동작하지 않기 때문에 mappedBy 가 없을 것이라는 걱정은 안하셔도 될 것 같습니다!

 

또한, 혹시나 flyway 같은 DB migration tool을 사용한다면 프로젝트 내부에 DDL sql을 파일로 갖고 있는 경우도 있습니다. 이때는 create table ... 코드를 확인해 DB 접근 없이 연관관계를 파악할 수도 있을 것 같습니다.

또 궁금하신 점 있으시면 편하게 질문 남겨주세요~ 감사합니다!!! 🙇🙇

ym Kim님의 프로필 이미지

작성한 질문수

질문하기