hibernate - 如何取消 hibernate 查询

标签 hibernate

如果用户按下“搜索”按钮,然后他们决定做“其他事情”,我们必须取消已经运行的查询。

我们使用 Hibernate(和 Oracle)作为持久性解决方案。 Hibernates Session 接口(interface)提供了一个cancelQuery()方法。经过一些测试,似乎 cancelQuery()没有效果。

有没有人有这方面的经验Session#cancelQuery()方法?

谢谢!

最佳答案

它有效果,但使用 Oracle JDBC 驱动程序,它需要一些时间才能发生。等一两分钟。

如果你等不及了,那么在后台线程(连同 session )中移动取消并在你的主线程中请求一个新的 Hibernate session 。在 cancelQuery() 之前,您不能使用旧 session 返回。

关于hibernate - 如何取消 hibernate 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1888595/

相关文章:

带有@MappedSuperclass 的 hibernate TABLE_PER_CLASS 不会创建 UNION 查询

hibernate - 无法使用Postgres DB启动Grails 3.3.8应用程序

java - Spring 框架

java - em.getTransaction().commit();导致jpa出错

mysql - MySQL View 中 LONGTEXT 字段的 JPA native 查询导致错误

java - 升级hibernate导致eclipse maven项目中servlet-api-2.5.jar错误

java - 在EntityManager中执行JoinTransaction出现异常

java - 类似 Hibernate 的多对多集合查询

spring - 无法 Autowiring 字段

java - 在 hibernate 中使用 @idclass 的复合键