在我们的项目中,我们使用hibernate 5.0.12和Spring数据Jpa.I发现jpa在本机查询之前没有调用flush。但在JPA规范中我读到了FlushModeType.AUTO flush()在每个查询之前调用(JPQL或本机SQL)。我猜它在hibernate中的问题是一个hibernates版本。有人可以解释这个问题吗?我们在这个问题上遇到了很多问题。
答案 0 :(得分:2)
所有解释都是in this article。
HibernateAUTÓflushing不会触发本机SQL查询。从5.2开始,这一切都取决于你如何引导Hibernate。 JPA引导程序将产生JPA行为,该行为在任何查询之前触发刷新,而本机引导程序则不会。
对于较旧的Hibernate版本,即使对于JPA bootstraps,它也会像传统的刷新模式一样。