CascadeType.SAVE_UPDATE:具有相同标识符值的不同对象已与会话关联

时间:2015-07-30 10:36:16

标签: hibernate cascade

我有一个与地址

具有ManyToOne关系的User实体
@NotNull
@ManyToOne
@Cascade(CascadeType.SAVE_UPDATE)
@JoinColumn(name = "id_registered_address")
private Address registeredAddress;

当我设置为' registeredAddress' db(dao.getById)中的一个地址,然后在我得到的User实体上调用saveOrUpdate:

A different object with the same identifier value was already associated with the session

如果我设置了一个新创建的Address实体,则该实体将正确保存在db。

我做错了什么?

1 个答案:

答案 0 :(得分:-1)

这意味着hibernate在会话中找到2个或更多地址,并且在更新地址时不知道使用哪个地址。可能是你两次获取相同的地址。