Session.flar()는 Session이 삭제 될 때마다 자식을 삭제합니다.최대 절전 모드 계단식 : 부모에서 null로 설정하면 자식을 삭제해야합니까?
OneToOne은 어떤가요? null로 설정하는 것은 올바른 방법이 아닙니다. OneToOne에 대한 clear() 메서드가 없습니다.
Table_A에는 OneToOne이 Table_B를 참조하는 열 (PK가 아님)이 있습니다.
내 경우에 Hib가 예상대로 작동하는지 궁금합니다.
내 계단식 옵션이 "all, delete-orphan"으로 설정되어 있습니다.
Table_A @OneToOne Table_B
Table_B @OneToMany Table_C는
는 이제 Table_A 것 같습니다. getTable_B. getTable_C_Collection()
Table_C 컬렉션에 요소가 있다고 가정합니다. 그때
, null로 Table_B 링크를 설정하면 모든 Table_C 수집 요소를 삭제해야합니다 : 내가 최대 절전 모드에서 기대
.
발생하지 않습니다. 그들은 고아가되었습니다!
최대 절전 모드 구성 (또는 최대 절전 모드 주석을 사용하는 경우 특수 효과)을 게시 할 수 있습니까? 구성 문제가있는 것 같습니다. –
Table_B를 삭제하면 Table_C의 멤버가 직접 삭제됩니까? 아니면 Table_A에서 Table_B 링크를 null로 설정 한 경우에만 문제입니까? –
@ Jim Hurne 두 번째 댓글 : 만약 내가 당신을 이해한다면, 내 대답은 이것입니다 : 나는 B의 인스턴스를 삭제하고 싶지 않습니다! 나는 A를 다루고 싶다, 그것은 주요 객체이다. B에 대한 참조를 가지고있다. 그래서 나는 그의 B 링크를 지우고 Hibernate가 다른 것들을 할 것이라고 기대한다. – EugeneP