@OneToMany 및 @ManyToOne 주석에 몇 가지 문제가 있습니다.최대 절전 모드, 지속성 및 @OneToMany 및 @ManyToOne 특수 효과 문제
두 가지 클래스의 Suite 및 SuiteVersion이 있습니다. SuiteVersion은 스위트에 종속됩니다.
클래스 스위트 룸 :
@OneToMany(mappedBy = "suite")
@Cascade(CascadeType.DELETE_ORPHAN)
private List<SuiteVersion> listSuiteVersion = new ArrayList<SuiteVersion>();
클래스 SuiteVersion : 그래서 난 내 코드에서 이것을 구현 한
@ManyToOne()
@Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
private Suite suite;
하지만 난이 SuiteVersion 관련된 스위트 룸을 삭제 몇 가지 문제가 있습니다.
@Cascade(CascadeType.DELETE_ORPHAN)
내가 스위트 삭제할 때 얻을이 로그 :
Hibernate: delete from SUITE where ID_SUITE=? 13 août 2010 09:40:50 org.hibernate.util.JDBCExceptionReporter logExceptions ATTENTION: SQL Error: -8, SQLState: 23504 13 août 2010 09:40:50 org.hibernate.util.JDBCExceptionReporter logExceptions GRAVE: integrity constraint violation: foreign key no action; FK42895651EA304E6 table: SUITE_VERSION
감사를 난 내 코드에서이 문제를 언급했기 때문에 최대 절전 모드 이유를 모르겠어 Suite.I 전에 SuiteVersion을 삭제하지 마십시오 사전에 도움을 청합니다.
최고 감사합니다,
플로랑,
P.S : 미안 내 영어는 내가 프랑스어입니다. 당신이 하지이 Suite
에서 SuiteVersion
에 REMOVE
작업을 계단식이기 때문이다
당신 말이 맞습니다. DELETE_ORPHAN은 컬렉션에서 관련 엔티티를 제거 할 때만 작동합니다. (+1) –
고마워요, 제게 많은 도움이됩니다. 하지만 나는 당신의 게시물을 배우기 전에 jpa 2.0으로 이동했습니다. 게시물이 끝나면 고아를 다루는 새로운 표준 방법에 대해 말합니다. 이 고아를 다루는이 새로운 방법을 설명해 주시겠습니까? – Delildor
@Delildor : 천만에요. JPA 2.0을 사용하는 고아에 대해서는 내 업데이트를 참조하십시오. –