我有名爲國家,城市和人民的表。我能阻止hibernate保存同一個人的對象嗎?這裏是我的課,問題是,當我試圖挽救一個國家目標,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