我正在尝试将新实体Parent与db中已存在的子进行持久化。我不希望在父级的持久性期间更新子级,而只是想创建一个关系。当我从前端发送json时,它看起来像这样:
{“child”:{“id”:3}}
在保存中我得到了:
org.hibernate.TransientObjectException:object引用未保存的 瞬态实例 - 在刷新之前保存瞬态实例
@Entity
class Parent {
@ManyToOne(optional = false)
@JoinColumn(name = "CHILD_ID", referencedColumnName = "CHILD_ID")
private Child child;
}
@Entity
class Child {
@Id
@Column(name="CHILD_ID")
private Long id;
}
答案 0 :(得分:1)
@Entity
class Parent {
@ManyToOne(optional = false, cascade = CascadeType.SAVED_UPDATE)
@JoinColumn(name = "CHILD_ID", referencedColumnName = "CHILD_ID")
private Child child;
}
答案 1 :(得分:0)
使用child_id加载现有的子对象,然后设置将其注入父级并保存父级。
答案 2 :(得分:0)
你不能。将@manyToOne注释可选属性设为true或检索子项的代理实例并将其设置为父项。