java - 如何在 SPRING DATA 中为单个方法将 FlushMode 设置为 COMMIT

标签 java spring spring-mvc spring-data

我想在没有 FlushMode.ALWAYS 的情况下运行一个单一的方法。

所以我需要 setFlushMode(FlushMode.COMMIT) 但我不知道该怎么做,我开始认为使用 spring 数据是不可能的。

我尝试 Autowiring SessionFactory 并执行此操作

sessionFactory.getCurrentSession().setFlushMode(FlushMode.COMMIT);

但是我得到了这个错误

No qualifying bean of type [org.hibernate.SessionFactory] found for dependency...

我的理解是我不能 Autowiring session 工厂,所以我不能使用那种设置刷新模式的方式。

那么我的问题是

有没有办法使用 spring 数据为单个方法设置刷新模式?怎么办?

最佳答案

我结束了在我的 JPARepository 接口(interface)中注释我的查找方法,如下所示:

@QueryHints(value = { @QueryHint(name = org.hibernate.annotations.QueryHints.FLUSH_MODE, value = "COMMIT") })
    List<ConcatenaCep> findByCep(Integer cep);

关于java - 如何在 SPRING DATA 中为单个方法将 FlushMode 设置为 COMMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653930/

相关文章:

java - 通过 Gradle 运行 Java 类时传递系统属性和参数的问题

spring - Spring Data Neo4j 4 中的唯一索引

java - JCache 的 Spymemcached 的完全限定名称

java - 如何为单页 AngularJS 应用程序实现基本的 Spring 安全性( session 管理)

javascript - Spring Rest 和 jQuery Ajax 文件下载

java - spring自动动态绑定(bind)

java - spring mvc从xml文件读取配置

java - 可以生成appengine-application.xml吗?

java - 从套接字的 byte[] 开头解析 int

Java for 循环迭代