작성
·
190
0
안녕하세요. JPA강의와 함께 영한님의 JPA프로그래밍책에 예제를 공부 하던중에
@EmbeddedId로 식별관계를 구성할때 이상한점을 발견했습니다
부모 : item, 자식 : book , 손자: sciencebook이라는 entity를 만들었을때
손자 엔티티에서 아래와 같이 referencedColumnName 을 설정하지 않으면
@JoinColumns({
@JoinColumn(name = "ITEM_ID"),
@JoinColumn(name = "BOOK_ID")
})
데이터베이스에 아래와 같이 ITEM_ID 컬럼과 BOOK_ID 컬럼이 반대로 저장되는 것입니다.
아래 처럼 쿼리도 이상합니다.
Hibernate:
alter table ScienceBook
add constraint FKlpf2m8vqpl0b7vmopmnvgphg2
foreign key (ITEM_ID, BOOK_ID)
references Book (BOOK_ID, ITEM_ID)
referencedColumnName를 설정하면 정확하게 데이터베이스에 저장되지만 왜 이런 결과가 나오는지 이유를 알수 없어서 질문올립니다.
좋은 강의 감사드립니다.