【问题标题】:Hibernate annotation unnecessary delete and insertHibernate注解不必要的删除和插入
【发布时间】:2010-10-05 14:30:23
【问题描述】:

我有一个 A 类,它有一组 B 类。A 类和 B 类有自己的表。 当我插入 A 类时,它也插入 B 类。当我更新 B 类时,Hibernate 会从 B 类中删除属于该 A 实例的所有内容,然后在当前集合 B 中插入所有值。我希望只添加 2 个新值在集合 b 中,它只插入 2 个值并保留其余值。我尝试 saveorupdate 但它不起作用。

【问题讨论】:

  • 并接受答案。你在 stackoverflow 上问了 7 个问题,只接受了一个。如果您不接受,人们将不会回答您的问题。

标签: hibernate annotations


【解决方案1】:

当您在添加项目之前清除集合时,或者当您将集合替换为新实例时,Hibernate 的行为通常是这样的。在这两种情况下,它都会删除一条 sql 语句中的项目。当列表从头开始构建时,它基本上是一种优化。

确保只删除不再需要的项目。

【讨论】:

  • 目前我正在从数据库中获取 A 类,然后将 A 的新值与 A 的先前值进行比较。我通过比较旧集和新集在我的代码中添加、删除条目。但是为每一个集合编写代码是很痛苦的。因此我正在寻找另一种解决方案
  • 用一些基于集合的工具编写一个帮助类。
猜你喜欢
  • 1970-01-01
  • 2018-04-13
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
  • 2014-10-17
  • 2019-05-07
  • 2016-12-23
相关资源
最近更新 更多