在我们的项目中,我们使用 hibernate 5.0.12 和 Spring 数据 Jpa。我发现 jpa 不会在 native 查询之前调用刷新。但是在 JPA 规范中,我读到使用 FlushModeType。AUTO flush() 在每个查询之前调用(JPQL 或 native SQL)。我猜它在 hibernate 版本中的问题。有人可以澄清这个问题吗?我们在这个问题上有很多问题。
最佳答案
hibernate FetchMode.AUTO
,这是默认的刷新策略,不会触发 native SQL 查询。
从 5.2 开始,一切都取决于您如何引导 Hibernate。 JPA Bootstrap 将产生在任何查询之前触发刷新的 JPA 行为,而 native Bootstrap 则不会。
对于较旧的 Hibernate 版本,即使对于 JPA Bootstrap ,它的行为也与传统的刷新模式相同。
关于java - JPA 在使用 FlushModeType.AUTO 进行 native 查询之前不会刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48216213/