持续的实体已经已经过了孩子



我试图与已经存在于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注释可选属性真实,或者检索孩子的代理实例并将其设置为父母。

相关内容

最新更新