2012-07-06 170 views
0

我有我的POJO类的一个对象,我保存在我的Redis的(的NoSql)服务器byte[]Hibernate的序列化/反序列化对象,并将其保存

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

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

我使用SerializationHelperserialize()deserialize()的对象和它的工作的罚款。

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

+0

抛出“例外”,呃?哪一个? – 2012-07-06 10:59:00

+0

增加了异常 – 2012-07-06 11:00:55

+0

[Hibernate:具有相同标识符值的不同对象已经与会话相关联]的可能重复(http://stackoverflow.com/questions/3553200/hibernate-different-object-with-the-same-标识符 - 值是-已经准) – 2012-10-15 08:05:24

回答

1

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

由于Hibernate保证会话永远不会持有相同附加实体的2个实例,它会引发此异常。

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