是否可以在Hibernate中对本机jpa查询应用查询超时?

时间:2016-06-30 11:18:13

标签: hibernate jpa

对于HQL查询,我可以执行以下操作:

    entityManager.createQuery("update UserSession set userAgent = ''")
            .setHint("org.hibernate.timeout", 1)
            .executeUpdate();

但是,如果我对本机sql查询执行相同的超时不起作用

    entityManager.createNativeQuery("update user_session set user_agent = ''")
            .setHint("org.hibernate.timeout", 1)
            .executeUpdate();

是否可以对本机查询应用超时?

注意。 防止诸如“为什么需要以这种方式更新user_session表”之类的可能问题让我注意到在现实生活中我需要执行非常复杂的更新查询。对于此主题,确切查询并不重要。

1 个答案:

答案 0 :(得分:0)

JPA spec 2.0+指定了

的STANDARD查询提示
"javax.persistence.query.timeout"

可以与JPQL,NativeQuery或StoredProcedureQuery一起使用。 当标准的提示存在时,我真的没有看到使用提供者特定提示的重点。