我有一个关于Hibernate如何持久化实体关系的问题。假设我有一个实体A与实体B有关系,另一个实体与实体C有关系。我创建一个A实例,并用B和C的新实例填充它。当我持久化A时,我需要C在B之前持久化。有什么方法可以做到这一点吗?
发布于 2010-03-21 12:22:37
不,你不能控制顺序。
在创建A-C关系之后,您唯一能做的就是在会话上调用flush,然后创建A-B关系。刷新将强制hibernate将新数据推送到数据库,但不会提交事务。
刷新后,数据可能对其他事务可见,也可能对其他事务不可见,这取决于数据库配置(例如,在mysql上,有4种事务模式:http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html)。
https://stackoverflow.com/questions/2468948
复制相似问题