나는 Country, City 및 People이라는 테이블이 있습니다. 동일한 객체를 저장하기 위해 최대 절전 모드를 방지하려면 어떻게해야합니까? 여기 내 클래스이며, 문제는 국가 개체를 저장하려고하면, Hibernate는 예상대로 개체 같은 사람을 저장하거나 업데이트하려고입니다 (시의 사람들이 반대하고 나라의 사람들이 같은 PK를 가지고 객체)최대 절전 모드로 동일한 개체를 저장하지 못하게하는 방법
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
클래스.;
class Country{
.....
@JoinColumn(.....)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private City city;
@JoinColumn(.....)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private People people;
}
class City{
....
@JoinColumn(.....)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private People people;
}
내 저장 방법은 다음과 같습니다. 여기
public void save(){
....
getCurrentSession().saveOrUpdate(customer); //Hibernate session
}
엔티티를 사용하여 코드를 게시 할 수도 있습니까? – Julien