Hibernate对按顺序调用flush时执行的语句进行排序:所有Inserts,all更新所有删除(请参阅下面的确切定义)。
我想知道的是,这种行为是JPA所要求的标准行为,并且Eclipselink也是如此,或者这只是一个Hibernate功能?
Hibernate Reference, Chapter 11.10. Flushing the Session
SQL语句按以下顺序发出:
答案 0 :(得分:1)
任何JPA实现都可以按照刷新顺序执行所需的操作;规范没有定义这样的东西,只是所有数据都进入数据存储区。并非所有实现都会像Hibernate那样对它们进行排序。有些人(例如DataNucleus JPA)根据纯粹的参考完整性要求在首先需要的地方做到这一点