Hibernate - PersistentSet没有更新

时间:2011-04-10 11:47:16

标签: hibernate persistent-set

我使用JPA 2.0标准和hibernate作为持久性提供程序。在使用ElementCollections时,我很想知道为什么org.hibernate.collection.PersistentSet不可更新?

PersistentSet中的方法isRowUpdatePossible()返回false。与可更新的PersistentList相比,Set执行多次删除和插入,而不仅仅是更新。

例如考虑我的实体具有当前具有值{1,2,3}的Set。我通过清除它然后添加{4,5,6}更新集合。在调用entityManager.merge(entity)3时,会触发delete和insert查询。

如果在上面的示例中我使用了List,那么只使用绑定值触发一个更新查询。

当我的数据库可以设法避免列中的重复时,查询的数量促使我得出使用List的结论。

总结问题

  1. 为什么org.hibernate.collection.PersistentSet不可更新?方法isRowUpdatePossible()在PersistentSet中返回false。
  2. 列表是否更好,然后在数据库处理重复项时设置?
  3. 对这些问题的想法将不胜感激。

0 个答案:

没有答案