【发布时间】:2010-09-07 18:32:44
【问题描述】:
是否可以限制使用 Hibernate/HQL 更新的行数?例如:
Query q = em.createQuery("UPDATE MyObj o Set o.prop = :prop");
q.setParameter("prop", "foo");
q.setMaxResults(myLimit);
int res = q.executeUpdate();
if (res > myLimit) {
// This is entering here and I don't want it to!
}
我一直在谷歌搜索等,我正在尝试使用 HQL,以便我可以在内存数据库中使用 HSQL DB 以及在部署中使用 MySql 进行一些单元测试。 MySql 支持 Update 语句上的 Limit 子句,但 HSQL 不支持,并且在 HSQL 中使用内部选择执行 UPDATE 需要 order by,这似乎是个坏主意。有没有办法限制更新中的行数?
谢谢。
【问题讨论】: