작성
·
247
0
안녕하세요! 다들 고생이 많으십니다.
다대일 연관관계 매핑 중 질문이 있습니다.
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "team_id", nullable = false, updatable = false)
private Team team;
위와 같이 다대일 연관관계 매핑시 @JoinColumn을 지정하여 외래키를 설정하여 관리 되는데
이 경우 jpa가 생성하는 ddl을 보면 항상 물리적인 외래키가 항상 생성되고,
@JoinColumn 생략 하더라도 물리적인 외래키가 생성되고 있는데
필요에 따라 물리적인 외래키를 설정하지 않고 연관관계를 맺고 싶을때는 어떤 설정을 걸어야 할까요?
방법이 있다면 @JoinColumn을 사용하여 일반적으로 생성된 물리적인 외래키가 존재하는 것과 JPA가 동작하는데 차이가 있을까요?
다른 방법이 없다면 최초 DDL 생성 이후 ddl-auto 옵션을 끄고, 엔티티 소스는 @JoinColumn을 유지하고 DB상 물리적인 외래키만 지우더라도 JPA가 동작 하는데에는 별다른 이슈가 없을까요?
** 추가로 강의, JPA 책 중 관련 내용이 있는 곳 이 있다면 알려주시면 감사하겠습니다.
감사합니다.
답변 1
1
안녕하세요. 이준영님, 공식 서포터즈 David입니다.
아래 글 답변을 참고해주세요.
https://discourse.hibernate.org/t/map-one-object-to-another-object-without-using-foreign-key/1640
감사합니다.
감사합니다. 관련 내용을 확인 해보겠습니다.