java - Hibernate序列化/反序列化对象并保存

标签 java hibernate jakarta-ee serialization

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

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

具有相同标识符值的不同对象已与 session

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

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

最佳答案

saveOrUpdate() 尝试将分离(或 transient )对象附加到 session 。

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

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

关于java - Hibernate序列化/反序列化对象并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11360874/

相关文章:

java - 将 'dryRun' 设置为 true 时,BigQuery 客户端库抛出 NPE

java - 与父实体一起驱逐依赖集合

java - 如何通过 Java Validator 消息传递参数?

java - JPA 2.0,如何修复以下2个错误

Java List 引用另一个 List 来修改自己

eclipse - 找不到主类 : Program will exit

java - 用于单元测试的单个 gradle 工作人员

java - 如何使用属性将 Hibernate HQL/SQL 结果(List)添加到 JavaFX TableView(ObservableList)?

java - 如何使用 MySQL 和 Hibernate 设置 group_concat_max_len

java - GWT 应用程序在没有浏览器插件的情况下运行