Hibernate序列化/反序列化对象并保存它

时间:2012-07-06 10:56:25

标签: java hibernate java-ee serialization

我有一个POJO类的对象,我将其保存在 Redis (NoSql)服务器上byte[]

现在我当我从Redis服务器获取对象时,进行一些更改并调用session.saveOrUpdate(),它会引发异常。

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

我正在使用SerializationHelper类对serialize()deserialize()对象及其工作正常。

在Hibernate中有什么办法可以保存反序列化对象。

1 个答案:

答案 0 :(得分:1)

saveOrUpdate()尝试将分离的(或瞬态)对象附加到会话中。

由于Hibernate保证会话永远不会保存同一附加实体的2个实例,因此会抛出此异常。

如果要将分离对象的状态复制到附加对象,请使用session.merge()(返回附加的修改对象)。