UPDATE tablename SET col1 = :col1value WHERE id.col2=:col2 Value
ORDER BY col3 ASC LIMIT 2;
我需要上述查询的替代方法,因为HQL中不接受LIMIT关键字。 setMaxResults
仅适用于选择查询。
想法是,查询更新与col1value
对应的所有记录但只有一个。(LIMIT
值可以计算并且可用)
答案 0 :(得分:0)
限制无法在HQL
中使用,而query.setMaxResults()
无法与UPDATE
一起使用。
您也可以按照以下方法进行操作:
编写两个单独的HQL查询,其中第一个查询的结果被输入到第二个查询中,该查询执行下面的更新
1.对仅具有有限结果集的ID的第一次查询(根据您的限制set- setMaxResults()
)。
3.第二个查询将根据第一个查询WHERE id IN (result of first query)