我对Hibernate如何持久存在实体关系有疑问。 假设我有一个与实体B有关系的实体A和另一个与实体C有关系的实体A. 我创建了一个A实例并使用B和C的新实例填充它。当我坚持A时,我需要在B之前保留C。有没有办法做到这一点?
答案 0 :(得分:1)
不,你无法控制订单。
您可以做的唯一事情是在建立A-C关系后在会话中调用flush,然后创建A-B关系。 flush将强制hibernate将新数据推送到数据库,但不会提交事务。
刷新后,根据数据库配置,数据可能对其他事务可见,也可能不可见(例如,在mysql上有4种事务模式:http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html)。