4
JPA 2와 Hibernate 3.6.8을 구현으로 사용하고 있습니다.JPA/Hibernate - 아이들과 함께 엔티티 분리하기
의 우리가 엔티티 있다고 가정 해 봅시다 Foo
entityManager.detach(foo)
을 수행 할 때, 나는 IMO가 매우 카운터 직관적 인
bar
이 부착 남아 놀랐다
@Entity
public class Foo {
....
@OneToOne
private Bar bar;
....
}
. 관리 엔티티의 원인이
는 영속 컨텍스트에서 지정된 개체를 제거 :
EntityManager
에 대한 설명서를 읽기는, 협회/자식 entites에 대해 아무것도 언급하지 않기 때문에이 예상되는 경우가 나타납니다 분리되기. 엔티티 제거 (엔티티 제거 포함)가있는 경우 엔 엔티티에 대한 변경 사항이 데이터베이스와 동기화되지 않습니다. 이전에 분리 된 엔티티를 참조한 엔티티는 계속이 엔티티를 참조합니다.
나는 간단히 entityManager.detach(foo.getBar())
이라고 부를 수는 있지만 나중에 연관을 추가하면 수동으로도 분리되어야 함을 의미합니다.
리플렉션에 의지하지 않고이를 달성하는 편리한 방법이 있습니까? 물론
@OneToOne(cascade = CascadeType.DETACH)
private Bar bar;
... 아름다운 :) : – Asa