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

时间:2017-06-20 13:06:47

标签: java spring spring-mvc spring-data

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

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

我尝试自动装配SessionFactory并执行此操作

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

但是我收到了这个错误

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

我的理解是我无法自动发送会话工厂,因此我无法使用这种方式设置刷新模式。

然后我的问题是

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

1 个答案:

答案 0 :(得分:3)

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

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