我有一个像这样的hibernate HQL(oracle 10g)
update table1 set modified_timestamp=systimestamp where id = :id
需要对table1
中的每一行执行此查询,因为时间戳稍后用于获取记录。
当我将其作为命名查询执行时,性能会随着处理时间而降低。我不能盲目session.clear()
,因为会话中的其他对象需要进一步修改。
有人能建议如何最好地解决这种性能下降问题吗?
答案 0 :(得分:0)
使用方法:
session.evic(entity);
可以取消您感兴趣的会话实体。
此致
答案 1 :(得分:0)
我最终在交易结束时创建了一个存储过程,用于更新属于事务的记录的时间戳