2016-11-10 85 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

这实现了你的人自动保存,如果你保存你的地址