2016-11-10 59 views
1

我有一個PersonModel有一個地址。
貌似是:休眠與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

嘗試在@ManyToOne註釋中添加CascadeType.ALL

這實現了你的人自動保存,如果你保存你的地址