【问题标题】:hibernate update hql over large set of rows在大量行上休眠更新 hql
【发布时间】:2012-08-27 14:32:32
【问题描述】:

我有一个这样的休眠 HQL(oracle 10g)

update table1 set modified_timestamp=systimestamp where id = :id

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

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

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

【问题讨论】:

    标签: hibernate session hql


    【解决方案1】:

    用方法:

    session.evic(entity);
    

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

    问候,

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-03-08
        • 1970-01-01
        • 2019-07-16
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多