首页 > 解决方案 > 使用新对象修补或放置

问题描述

在我的应用程序中,我有以下两个对象:

@Entity
public class A {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    // ... //
    @OneToOne
    private B b;
}

@Entity
public class B {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String label;
    // ... //
}

首先,我用 b null 记录对象 A。在我需要使用数据库中尚不存在的新对象 B 更新 A 之后,我想自动更新 A 并将 B 一起保存。你能告诉我怎么做这个手术吗?

注意:我不能在 JSON 请求中使用 B 链接,因为对象 B 尚不存在

标签: javajsonrestspring-data-jpa

解决方案


您可以添加 ann 注释,告诉您类保存级联您的连接实体

@Cascade({CascadeType.ALL})

所以你的班级会变成

@Entity
public class A {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    // ... //
    @OneToOne
    @Cascade({CascadeType.ALL})
    private B b;
}

你可以在这里学习级联类型,这样你就可以选择最适合你需要的类型


推荐阅读