Java 如何将JSON转换为具有多通关系的POJO?
我有一个实体,它与另一个实体具有双向Java 如何将JSON转换为具有多通关系的POJO?,java,hibernate,spring-data-jpa,Java,Hibernate,Spring Data Jpa,我有一个实体,它与另一个实体具有双向@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 @Gene
@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;
}
我需要以某种方式设置Foo
变量
如果我需要对每个
条使用单独的save()
函数调用,那么有没有办法启动事务,使所有这些插入操作都是原子的?首先,您应该像这样映射关系:
@OneToMany(mappedBy="foo", cascade=CascadeType.PERSIST)
Set<Bar> bars;
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);
@OneToMany(mappedBy=“foo”,cascade=CascadeType.PERSIST)
设置横杆;
级联类型将取决于您的需要。有关级联类型的更多信息,请阅读本手册
然后,您可以像这样保存Foo实体:
@OneToMany(mappedBy="foo", cascade=CascadeType.PERSIST)
Set<Bar> bars;
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);
Foo-Foo=new-Foo();
设置条=新的HashSet();
条形=新条形();
巴.塞富(富);
条。添加(条);
foo.立根杆(杆);
fooRepositoy.save(foo);
首先,您应该像这样映射关系:
@OneToMany(mappedBy="foo", cascade=CascadeType.PERSIST)
Set<Bar> bars;
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);
@OneToMany(mappedBy=“foo”,cascade=CascadeType.PERSIST)
设置横杆;
级联类型将取决于您的需要。有关级联类型的更多信息,请阅读本手册
然后,您可以像这样保存Foo实体:
@OneToMany(mappedBy="foo", cascade=CascadeType.PERSIST)
Set<Bar> bars;
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);
Foo-Foo=new-Foo();
设置条=新的HashSet();
条形=新条形();
巴.塞富(富);
条。添加(条);
foo.立根杆(杆);
fooRepositoy.save(foo);