我试图与已经存在于DB中的孩子一起持续新实体父母。我不想在父母的持久性过程中更新孩子,而只是想建立关系。当我从前端发送JSON时,看起来像这样:
{" child":{" id":3}}
在保存上,我得到了:
org.hibernate.transientObjectException:对象引用未保存的 瞬态实例 - 刷新之前保存瞬态实例
@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;
}
@Entity
class Parent {
@ManyToOne(optional = false, cascade = CascadeType.SAVED_UPDATE)
@JoinColumn(name = "CHILD_ID", referencedColumnName = "CHILD_ID")
private Child child;
}
使用child_id加载现有的子对象,然后将其设置为父母并保存父。
你不能。使您的@manytoone注释可选属性真实,或者检索孩子的代理实例并将其设置为父母。