2016-11-10 13 views
1

私には住所を持つPersonModelがあります。
は、次のようになります。Hibernate OneToManyでモデルを追加する

public class PersonModel { 
    @ManyToOne(fetch = FetchType.LAZY) 
    private AddressModel address; 
} 

public class AddressModel { 
    private String street; 
    private String city; 

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "address", cascade = CascadeType.ALL) 
    private Set<PersonModel> persons; 
} 

を今、私は私のクライアントからこのJSONを取得するとき:

{ 
    "person": { 
     "address": { 
      "street": "Examplestreet", 
      "city": "Examplevillage" 
     } 
    } 
} 

そして、そのようにそれを保存しよう:

personModelRepository.save(myJSON.person); 

Hibernateは常にスローしますa TransientPropertyValueException

オブジェクトが保存されていない一時的なインスタンスを参照する -

をフラッシュする前に、一時的なインスタンスを保存私は本当に最初の人に関連するすべての単一のDB-エントリを保存するために持っているか、別の方法はありますか?

答えて

3

CascadeType.ALL@ManyToOneアノテーションに追加してみてください。

住所を保存すると、自動的に保存されます。

関連する問題