所以我有一个持久对象,可以通过网络发送。它可以在没有更改的情况下反弹,需要保存为单独的实体。
当我尝试保存时,我得到了这样的例外。 线程“AWT-EventQueue-0”中的异常org.hibernate.NonUniqueObjectException:具有相同标识符值的另一个对象已与会话关联:
@Entity
class Foo
{
@Id @GeneratedValue
int id;
@Column
String name
@OneToMany
List<Foo2> = new ArrayList<>();
}
答案 0 :(得分:0)
不确定这个答案是否可以帮助您解决问题:
基本上,hibernate所说的是你有两个具有相同标识符的对象(相同的主键),但它们不是同一个对象。
我建议你分解你的代码,即注释掉比特,直到错误消失,然后把代码放回去,直到它回来,你应该找到它的错误。
最常见的是通过级联保存,在对象A和B之间存在级联保存,但对象B已经与会话关联但不在同一个B实例上。