繁体   English   中英

插入,更新和删除语句是JPA标准还是仅特定于Hiberate?

[英]Is the resorting of Insert, Update and Delete Statements a JPA standard, or only Hiberate specific?

Hibernate会按该顺序对在调用flush时执行的语句进行排序:所有插入,所有更新所有删除(确切定义请参见下文)。

我想知道的是,此行为是JPA要求的标准行为,并且Eclipselink是否相同,或者这仅仅是Hibernate功能?


休眠参考,第11.10章。 冲洗会议

SQL语句按以下顺序发出:

  1. 所有实体插入均以相同顺序使用Session.save()保存了相应的对象
  2. 所有实体更新
  3. 所有集合删除
  4. 所有集合元素的删除,更新和插入
  5. 所有集合插入
  6. 所有实体删除均以相同的顺序使用Session.delete()删除了相应的对象

任何JPA实现都可以按照刷新顺序执行所需的操作; 规范未定义此类内容,仅是所有数据都进入了数据存储区。 并非所有实现都会像Hibernate那样对它们进行排序。 有些(例如DataNucleus JPA )基于纯引用完整性要求(首先需要具备什么条件)来执行此操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM