Hibernate使用OneToMany添加模型

时间:2016-11-10 14:41:31

标签: java spring hibernate

我有一个有地址的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

  

对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例

我是否真的必须首先保存与人相关的每一个数据库条目,还是有另一种方式?

1 个答案:

答案 0 :(得分:3)

尝试在CascadeType.ALL注释中添加@ManyToOne

如果您保存地址

,这将实现您的人员自动保存