2017-09-11 11 views
0

私は新しいエンティティParentを、既にdbに存在する子で永続化しようとしています。私は親の永続性の間に子供を更新したくないが、ただ関係を作りたいと思う。私はフロントエンドからJSONを送信していた場合には、次のようになります。すでに存在しない子を持つエンティティを永続化します

{ "子":{ "ID":3}}私は取得していますセーブオン

org.hibernateを.TransientObjectException:オブジェクトが保存されていない 一時的なインスタンスを参照する - 使用は、既存の子オブジェクトをロードするためにchild_id

@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

をフラッシュする前に、一時的なインスタンスを保存それをparentとsave parentに挿入するように設定します。

+0

私はこの種の解決策を避けようとしています。 – kondzio14

1
@Entity 
class Parent { 
    @ManyToOne(optional = false, cascade = CascadeType.SAVED_UPDATE) 
    @JoinColumn(name = "CHILD_ID", referencedColumnName = "CHILD_ID") 
    private Child child; 
} 
0

できません。 @manyToOneアノテーションオプション属性をtrueに設定するか、子のプロキシインスタンスを取得して親に設定します。

関連する問題