Spring JPA - @OneToMany为每个关系创建单独的表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring JPA - @OneToMany为每个关系创建单独的表相关的知识,希望对你有一定的参考价值。

我想创建一个名为的类型

@Entity
class TestType {
   @Id
   private Long id;
   private String field1;
   private String field2;
}

@Entity
class Agregator{
   @Id
   private Long id;
   private String name;
   @OneToMany
   private List<TestType> newTypes;
   @OneToMany
   private List<TestType> oldTypes;
}

我想要3张桌子:

  • 聚合
  • agregator_new_types,列为agregator_id;
  • agregator_old_types,列为agregator_id;

我如何定义关系来获取这样的表和列?

答案
@Embeddable
class TestType {
   @Id
   private Long id;
   private String field1;
   private String field2;
}

@Entity
class Agregator{
   @Id
   private Long id;
   private String name;
   @ElementCollection
   private List<TestType> newTypes;
   @ElementCollection
   private List<TestType> oldTypes;
}

以上是关于Spring JPA - @OneToMany为每个关系创建单独的表的主要内容,如果未能解决你的问题,请参考以下文章

使用 JPA 的 Spring Boot OnetoMany

Spring JPA - @OneToMany 为每个关系创建单独的表

Spring JPA OneToMany 集合不删除条目

Spring JPA - @OneToMany为每个关系创建单独的表

Spring boot JPA - 没有嵌套对象的 JSON 与 OneToMany 关系

在 Spring Boot 中使用 JPA 从具有 OneToMany 关系的实体中删除对象