2015-01-30 1 views
0
public class Main{ 

@Transient 
private List<ClassB> listB; 
.. 
} 

public ClassB{ 
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER) 
List<ClassC> listC; 
... 
} 

public classC{ 
... 
} 

이제 기본 클래스 개체를 저장하면 ClassB 및 ClassC에 의해 만들어진 조인 테이블이 변경되고 변수 목록 B는 일시적입니다. 왜 이런 일이 발생합니까?엔티티 저장

답변

0

Main을 저장하기 전에 보유하고있는 ClassB의 데이터를 변경 했으므로 ClassB은 영구 객체입니까?

Main의 지속성과는 아무런 관련이 없습니다. 엔티티를로드하고 변경 한 경우 명시 적으로 저장하지 않고 커밋하기 전에 JPA는 모든 더티 엔티티를 찾아 변경 사항을 유지합니다.

+0

네, 맞습니다. ..이 문제를 해결할 수 있도록 도와 주시겠습니까? – abc

+0

당신이 그런 모델과 그런 처리 방법을 가지고있는 이유를 알지 못하면 그것을 고칠 수있는 간단한 방법이 없습니다. 간단히 말해서 엔티티를 변경하지 마십시오. 해당 엔티티를 처리하기 위해 임시로 처리하고 모든 변경 사항을 버리려는 경우 엔 엔티티 –

+0

Ok.Thanks가 동일하게 시도합니다. – abc