我有一个有地址的PersonModel 看起来像这样:
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将始终抛出 TransientPropertyValueException 。
对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例
我是否真的必须首先保存与人相关的每一个数据库条目,还是有另一种方式?
答案 0 :(得分:3)
尝试在CascadeType.ALL
注释中添加@ManyToOne
。
如果您保存地址
,这将实现您的人员自动保存