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

时间:2018-01-11 21:38:03

标签: java spring hibernate jpa spring-data

在我们的项目中,我们使用hibernate 5.0.12和Spring数据Jpa.I发现jpa在本机查询之前没有调用flush。但在JPA规范中我读到了FlushModeType.AUTO flush()在每个查询之前调用(JPQL或本机SQL)。我猜它在hibernate中的问题是一个hibernates版本。有人可以解释这个问题吗?我们在这个问题上遇到了很多问题。

1 个答案:

答案 0 :(得分:2)

所有解释都是in this article

HibernateAUTÓflushing不会触发本机SQL查询。从5.2开始,这一切都取决于你如何引导Hibernate。 JPA引导程序将产生JPA行为,该行为在任何查询之前触发刷新,而本机引导程序则不会。

对于较旧的Hibernate版本,即使对于JPA bootstraps,它也会像传统的刷新模式一样。