hibernate在大行集上更新hql

时间:2012-08-27 14:32:32

标签: hibernate session hql

我有一个像这样的hibernate HQL(oracle 10g)

update table1 set modified_timestamp=systimestamp where id = :id

需要对table1中的每一行执行此查询,因为时间戳稍后用于获取记录。

当我将其作为命名查询执行时,性能会随着处理时间而降低。我不能盲目session.clear(),因为会话中的其他对象需要进一步修改。

有人能建议如何最好地解决这种性能下降问题吗?

2 个答案:

答案 0 :(得分:0)

使用方法:

session.evic(entity);

可以取消您感兴趣的会话实体。

此致

答案 1 :(得分:0)

我最终在交易结束时创建了一个存储过程,用于更新属于事务的记录的时间戳