一尘不染

在使用FlushModeType.AUTO进行本机查询之前,JPA不会刷新

hibernate

在我们的项目中,我们使用hibernate
5.0.12和Spring数据Jpa。我发现jpa不会在本机查询之前调用flush。但是在JPA规范中,我使用FlushModeType读取了它.AUTO
flush()在每个查询(JPQL或本机SQL)之前都调用.i我猜它在hibernate版本中存在问题。有人可以澄清这个问题吗?这个问题我们有很多问题。


阅读 327

收藏
2020-06-20

共1个答案

一尘不染

本文已对此进行了解释 。

hibernateAUTÓ刷新不会为本地SQL查询触发。从5.2开始,这完全取决于您如何引导Hibernate。JPA引导程序将产生JPA行为,该行为将在进行任何查询之前触发刷新,而本机引导程序则不会。

对于较旧的Hibernate版本,即使对于JPA引导程序,它的行为也与传统的刷新模式相同。

2020-06-20