java - 是否可以在 2 个对象之间建立 @OneToOne 关系,但不能让 child 自动保留在 Hibernate 中

标签 java hibernate entity-relationship

我正在使用 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/

相关文章:

JavaFX 预加载器和 Netbeans

java - 如何使 jtextfield 文本在标签进入时消失(Netbeans)

java - 在 ant taskdef 中设置 sys 属性

java - Spring Data JPA - 如何使用组合键插入子实体?

java - 如何更改对象在 spring-data/hibernate/rest 中返回的方式

java - 连接列留空

database-design - ERD - 鱼尾纹符号

java - 如何正确管理具有 OneToOne 双向关系的关联 JPA 实体?

symfony - 教义 : advantages/drawback of a bidirectional relation

java - 使用 java 检测网络摄像头设备