我正在使用 jpa 持久性注释。我有 2 个对象,Order(parent) 和 Transaction(child)。我希望能够获取我的订单并获得它的交易。问题是我不希望在保存订单时自动保存我的交易。在保存之前,我需要对其进行一些特殊处理。
有没有办法告诉 hybernate 不要持久化子对象,但在我检索订单时仍然获取它?
我试过这样的东西
@OneToOne(cascade=CascadeType.REFRESH)
@JoinColumn(name = "commande_id", insertable=false, updatable=false)
这没有用。我不断收到此消息:
object references an unsaved transient instance - save the transient instance before flushing
当我尝试保存订单对象时。我第一次保存订单时,交易对象包含一些数据,但尚未准备好保存。
提前致谢
最佳答案
如果您从 session 中分离事务怎么办?
session.evict(transaction);
不确定这是否可行,但只是一个想法。
关于java - 是否可以在 2 个对象之间建立 @OneToOne 关系,但不能让 child 自动保留在 Hibernate 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308722/