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

Ram*_*ues 4 java spring spring-mvc spring-data

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

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

我试图自动连接SessionFactory并执行此操作

sessionFactory.getCurrentSession().setFlushMode(FlushMode.COMMIT);
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误

No qualifying bean of type [org.hibernate.SessionFactory] found for dependency...
Run Code Online (Sandbox Code Playgroud)

我了解到我无法自动为会话工厂装配连线,所以我不能使用那种设置刷新模式的方式。

那我的问题是

有没有一种方法可以使用spring数据为单个方法设置冲洗模式?怎么样?

Ram*_*ues 5

我结束了对JPARepository接口中的find方法的注释,如下所示:

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