gpt4 book ai didi

java - 如何将 JSON 转换为具有 ManyToOne 关系的 POJO?

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:36 26 4
gpt4 key购买 nike

我有一个实体,其结构与另一个实体具有双向 @OneToMany 关系。它的外观如下:

@Entity
@Table
public class Foo {
@Id
@GeneratedValue
Integer foo_id;

@OneToMany
@JoinColumn(name = "FOO_ID")
Set<Bar> bars;
}

@Entity
@Table
public class Bar {
@Id
@GeneratedValue
Integer bar_id;

@ManyToOne
@JoinColumn(name = "FOO_ID")
Foo foo;
}

如何使用 CrudRepository 设置 bars 来保存 Foo 对象?例如,我将此 JSON 反序列化为 Foo 对象:

{
"foo_id": 1,
"bars": [{"bar_id": 1},
{"bar_id": 2}]
}

我需要以某种方式设置 Foo 变量?

如果我需要对每个 Bar 使用单独的 save() 函数调用,那么有没有办法启动事务,以便所有这些插入操作都是原子的?

最佳答案

首先,您应该像这样映射关系:

@OneToMany(mappedBy="foo", cascade=CascadeType.PERSIST)
Set<Bar> bars;

级联类型将取决于您的需求。阅读此article有关级联类型的更多信息。

然后,您可以像这样保存 Foo 实体:

Foo foo = new Foo();
Set<Bar> bars = new HashSet<>();
Bar bar = new Bar();
bar.setFoo(foo);
bars.add(bar);
foo.setBars(bars);
fooRepositoy.save(foo);

关于java - 如何将 JSON 转换为具有 ManyToOne 关系的 POJO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44836807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com