我在DB2中有100,000行要删除。我使用Hibernate(HQL)之类的东西比删除query.executeQuery()
。
HQL中是否可以限制要删除的行数?例如:
query.setMaxRowTodelete(100); // this is just an example.
query.executeQuery();
答案 0 :(得分:8)
可悲的是,您无法使用HQL进行限制,query.setMaxResults(number)
无法使用UPDATE
或DELETE
。您的选择是:
WHERE someid IN (id1, id2, ..., id100)
答案 1 :(得分:0)
不,不幸的是不可能。为此,根据您的使用情况,我会研究是否值得以下任何一点:
1到select
使用setMaxResults
,然后迭代删除带有delete
的元素(性能不佳)
2使用session.createSQLQuery
,创建一个SQL,你就可以使用limit