【发布时间】:2009-01-30 12:38:59
【问题描述】:
我有一个使用 SQL 表的 Java 应用程序,其中包含按顺序排列的实体列表 一个订单列。我想在中间/从中间添加/删除东西 的名单。现在,我想知道是否有一些持久性框架/orm/you-name-it 可以通过批量更新订单来提供这种功能 柱子。
在基本情况下,Hibernate(可能还有其他)提供这个 功能。 问题是对象一次只处理一个,这就变成了 当列表足够大时出现问题。替代解决方案是 使用批量 SQL 更新来做这件事,例如:
UPDATE table SET order_col = order_col + 1 WHERE order_col > 47
INSERT TO table VALUES ('new_id', 'new_description, ..., 47)
这由数据库引擎很快完成,但不受支持。
现在,我明白了 在考虑对象及其对象时,那种批量更新不太适合 版本控制,脏检查等。 我仍然会问是否有人有一些好主意,或者是否有一些坚持 framework / ORM / you-name-it 会提供一些帮助。 当然我可以用自定义 SQL/HQL/... 但想知道 如果已经有一些解决方案(我认为其他人可以 以前做过类似的事情,甚至把它放在开源下)。也欢迎其他与该问题相关的好主意=)
【问题讨论】:
标签: sql list orm persistence