如何一次性保持对象及其嵌套对象?

时间:2018-05-19 17:10:01

标签: java hibernate spring-boot jpa spring-data-jpa

我在尝试持久化对象及其项目时遇到了一些问题,这是我的课程:

@Entity(name = "Contract")
@Table(name = "contract")
public class Contract implements Serializable{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(unique = true, nullable = false)
    private Long id;

    @OneToMany(mappedBy = "idContract", cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    private List<ContractItem> contractItem;

    //getters & setters...
}

@Entity(name = "ContractItem")
@Table( name = "contract_item")
public class ContractItem implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(unique = true, nullable = false)
    private Long id;

    @Column(name = "id_contract")
    private Long idContract;

    //getters & setters...
}

我正在扩展JpaRepository我的存储库并使用.save(contract)来保留,但每次我的应用程序只保留合同而不是de项目时,我已经尝试CascadeType.ALL,{{ 1}}和MERGE,其中结果相同,或者我得到一个异常,我的idContract不能为空。

在这里需要一些帮助,提前谢谢!

0 个答案:

没有答案