我有一个有地址的 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。
object references an unsaved transient instance - save the transient instance before flushing
我真的必须先保存与人相关的每个 DB-Entry 还是有其他方法?
最佳答案
尝试在 @ManyToOne
注释中添加 CascadeType.ALL
。
这实现了如果您保存您的地址,您的人会自动保存
关于java - Hibernate 使用 OneToMany 添加模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40530286/