我在 DB2 中有 100,000 行要删除。我使用 Hibernate (HQL) 之类的东西 delete from than query.executeQuery()
。
在 HQL 中是否可以限制要删除的行数?例如:
query.setMaxRowTodelete(100); // this is just an example.
query.executeQuery();
可悲的是,您不能使用 HQL 进行限制,query.setMaxResults(number)
也不能使用UPDATE
s 或DELETE
s。您的选择是:
WHERE someid IN (id1, id2, ..., id100)
不,很遗憾是不可能的。为此,根据您的用例,我会研究它是否值得以下几点之一:1select
使用setMaxResults
,然后迭代一个一个地删除delete
(性能不佳)2 的元素使用session.createSQLQuery
,创建一个 SQL 和您将能够使用limit