自动保存期间的Jpa OneToMany关系处理关系

时间:2020-07-14 09:38:05

标签: java spring-boot jpa kotlin

Hibernate / JPA是否可以填写引用本身,还是我必须首先保留实体A,以便获得可以设置为实体B的ID?

在此示例中,我具有以下实体:

@Entity
class A(uuid: UUID? = null,
                       @OneToMany(
                               mappedBy = "aUUID",
                               cascade = [CascadeType.ALL],
                               fetch = FetchType.LAZY,
                               orphanRemoval = true)
                       val b: List<B>
) : BaseEntity(uuid)

@Entity
class B(uuid: UUID? = null,
        @Column(nullable = false) val aUUID: UUID,    
) : BaseEntity(uuid)

B用外键指向A

1 个答案:

答案 0 :(得分:0)

您可以将两个实体保持在一起(不是完全针对这种情况,而是逻辑相同):

A a = new A();
a.setBList(new ArrayList());

B b = new B();

a.getBList().add(b);

yourJpaRepository.save(a); // will persist both entities and add reference
相关问题