나는 일대일 관계로 클래스를 가졌습니다. 기본적으로 "클래스 A"에는 "클래스 B"와 일대일 관계가 있습니다. 이 관계는 기본 키 조인 열을 사용합니다. 이제는 내 문제는 다음과 같습니다. A의 인스턴스를 만들면 B 인스턴스를 추가하지 않았기 때문에 저장할 수 없습니다. 그러나 B의 인스턴스를 만들지는 않습니다. 왜냐하면 먼저 A의 ID가 필요하기 때문입니다.치킨 또는 달걀 타입 최대 절전 모드 매핑 문제
쉬운 해결책은 B의 ID를 자동으로 생성하는 것이므로 A 인스턴스를 만들기 전에 B의 인스턴스를 만들 수 있습니다. 그러나이 작업을 수행하는 더 좋은 방법이있을 것이라고 확신합니다. ? :)
hibernate가 외래 키 제약 조건 인 추측 인 A의 id 열에 추가 색인을 만들었다는 것을 데이터베이스에서 볼 수 있습니다. 그리고 일대일 매핑의 XML 버전에 관계가 제한되는지 여부를 지정하는 속성이있는 문서를 볼 수는 있지만 @OneToOne 주석은이 옵션을 갖고 있지 않습니까? : S
당신이A
와
B
테이블 간의이 개 관계를 보인다
안녕하세요, 답변 해 주셔서 감사합니다.하지만 A와 B 사이에는 두 가지 관계가 없습니다. A에는 a_id가 있고 B에는 b_id가 있습니다.내 게시물에서 언급했듯이 실제로 B를 먼저 삽입하고 ID를 가져 와서 A를 만드는 데 사용할 수 있습니다. 실제로 OneToOne 속성을 nullable로 설정하는 방법을 알고 싶습니다. 먼저 A를 만들 수 있습니다. B :) – JustDanyul
기본적으로 Null 값입니다. 답변의 업데이트 섹션을 참조하십시오. – Andrey
답변을 주셔서 다시 한 번 감사드립니다. 해결되었습니다. 나는 문제가 내가 A에서 B로 외래 키 contraint를 만드는 것 같다 PrimaryKeyJoinColumn을 사용하고 있었다 :) 도움을 주셔서 감사합니다 :) – JustDanyul