在我们的项目中,我们使用hibernate 5.0.12和Spring数据Jpa。我发现jpa不会在本机查询之前调用flush。但是在JPA规范中,我使用FlushModeType读取了它.AUTO flush()在每个查询(JPQL或本机SQL)之前都调用.i我猜它在hibernate版本中存在问题。有人可以澄清这个问题吗?这个问题我们有很多问题。
本文已对此进行了解释 。
hibernateAUTÓ刷新不会为本地SQL查询触发。从5.2开始,这完全取决于您如何引导Hibernate。JPA引导程序将产生JPA行为,该行为将在进行任何查询之前触发刷新,而本机引导程序则不会。
对于较旧的Hibernate版本,即使对于JPA引导程序,它的行为也与传统的刷新模式相同。