我们希望将Hibernate的刷新模式设置为MANUAL
。
我们使用spring属性:spring.jpa.properties.org.hibernate.flushMode
。此属性适用于COMMIT
、ALWAYS
和AUTO
。MANUAL
也被接受并正确分析(正如我们在代码调试期间所看到的那样)。
不幸的是,当我们检查同花顺模式时
((org.hibernate.Session) entityManager).getHibernateFlushMode()
我们看到前三个选项运行良好,但是如果我们设置为MANUAL
,会话中的刷新模式是AUTO
。
这是一个bug还是一个特性,我们如何才能绕过它呢?
Spring版本: 2.6.4 Hibernate版本: 5.6.5
发布于 2022-03-28 13:21:02
进一步的研究表明,一种用@Transactional
注释的方法可以改变MANUAL
到AUTO
的刷新模式。我们改用@Transactional(readOnly=true)
(在我们的情况下更正确)并解决了这个问题。
https://stackoverflow.com/questions/71644831
复制相似问题