当前位置: 首页 > 面试题库 >

是否可以分离Hibernate实体,以使对对象的更改不会自动保存到数据库?

司空繁
2023-03-14
问题内容

我有必须转换为JSON的Hibernate实体,并且必须转换实体中的某些值,但是当我转换值时,这些值会立即保存到数据库中,但是我不想将这些更改保存到数据库中。有没有解决此问题的方法


问题答案:

您可以通过调用分离实体Session.evict()

其他选择是在转换值之前为您的实体创建防御性副本,或者在该代码中使用DTO代替该实体。我认为这些选项更优雅,因为它们不将转换转换为JSON和持久层。



 类似资料:
  • 问题内容: 我在父子表之间存在一对多关系。在父对象中,我有一个 我在子表中也有一个外键。此外键是引用数据库中父行的ID。因此,在我的数据库配置中,此外键不能为NULL。同样,此外键也是父表中的主键。 所以我的问题是如何通过执行以下操作来自动保存子对象: 我尝试了上面的方法,但是我收到一个数据库错误,抱怨Child表中的外键字段不能为NULL。是否可以告诉JPA自动将此外键设置为Child对象,以便

  • 问题内容: 提交表单时出现此错误: org.hibernate.PersistentObjectException:分离的实体传递给持久化:com.project.pmet.model.Account; 嵌套异常是javax.persistence.PersistenceException:org.hibernate.PersistentObjectException:传递给持久对象的分离实体:c

  • 问题内容: 我的Android手机上有一个数据库,我需要将信息保存到SD卡上。 是否可以将数据库文件以可读状态保存到SD卡上?我尚未找到有关如何执行此操作的任何信息。我知道数据库的名称,字段等… 我发现了一些示例,这些示例显示了如何保存到SD卡,但并不是我真正需要的。 将数据库文件复制到SD卡的某些源代码将是完美的。 希望这个问题很清楚。 问题答案: 是。这是我使用的功能: 对于我从事的项目,我在

  • 问题内容: 我正在尝试使用hibernate模式写入多个数据库。我已经将写和读/写会话封装在单个会话对象中。但是,当我去保存时,出现很多错误,这些对象已与另一个会话关联:“非法尝试将一个集合与两个打开的会话关联” 这是我的代码: 我试图逐出该物体并冲洗;但是,这会导致“行被另一个事务更新或删除”问题,即使两个会话都指向不同的数据库。 除了上述内容,我还尝试使用hibernate的复制功能。没有错误

  • 我正在构建一个java国际象棋游戏,并试图构建它的GUI部分。GUI板是完整的,我可以在板上设置碎片。我不是简单地将图像设置为块,而是希望能够设置一个接受颜色和图像的Rook类的新实例化。我需要JLabel块来完成这一操作,因此在后面的代码中,我可以添加一些方法,使Rook遵守turn-take和move规则。 据我所知,JLabel只能保存图像或文本,因此我认为这可能是不可能的。如有任何帮助,我

  • 我制作了一个类 在另一个类中 正如您所看到的,我创建了这个数组,并将UImages与txt和txt2一起放置在其中。简单地说,我要向用户显示一个图像,然后输入一个描述图像的输入,然后检查它是否匹配txt和txt2。在运行模拟器时,我得到以下错误: ***由于未捕获异常“nSunKnownKeyException”而终止应用程序,原因:“[ SetValue:ForUndefinedKey:]:对于