Hibernate 持久化顺序

Paq*_*oft 5 hibernate

我有一个关于 Hibernate 如何持久化实体关系的问题。假设我有一个实体 A,它与实体 B 有关系,另一个实体 A 与实体 C 有关系。我创建一个 A 实例,并用 B 和 C 的新实例填充它。当我持久化 AI 时,需要将 C 持久化到 B 之前。有什么办法可以做到这一点吗?

Man*_*eau 1

不,您无法控制顺序。

您唯一能做的就是在创建 AC 关系后在会话上调用刷新,然后创建 AB 关系。刷新将强制 hibernate 将新数据推送到数据库,但不会提交事务。

刷新后,数据可能对其他事务可见或不可见,具体取决于数据库配置(例如,在 mysql 上,有 4 种事务模式:http ://dev.mysql.com/doc/refman/5.0/en/设置交易.html)。