Java 用新对象修补或放置

Java 用新对象修补或放置,java,json,rest,spring-data-jpa,Java,Json,Rest,Spring Data Jpa,在我的应用程序中,我有以下两个对象: @Entity public class A { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; // ... // @OneToOne private B b; } @Entity public class B { @Id @GeneratedValue(strategy = GenerationTyp

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

@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;
    // ... //
}
首先,我记录对象A和b null。在我需要用数据库中还不存在的新对象B更新A之后,我想自动更新A并一起保存B。 你能告诉我怎么做这个手术吗


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

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

@Cascade({CascadeType.ALL})
所以你的班级将成为

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

您可以研究级联类型,因此您可以根据需要选择最合适的类型

在我的补丁中,方法无法转换JSON请求,因为“@RequestBody Resource”等待对象B的链接并找到JSON信息。json请求的示例:{“b”:{“标签”:“toto”}}因此,使用debug always时,b为空