【问题标题】:Spring Jpa: save a genric child typeSpring Jpa:保存通用子类型
【发布时间】:2020-06-29 11:24:22
【问题描述】:

有没有可能救一个普通的孩子??

例如:

如果我有父母

    @Entity
    @Table(name = "parent")
    @Data
    @NoArgsConstructor
    class Parent<C>{

       @Id
       @GeneratedValue
       private long id;
    
       private C child;
    
    }

和两个孩子

    @Entity
    @Table(name = "child1")
    @Data
    @NoArgsConstructor
    class Child1{
       @Id
       @GeneratedValue
       private long id;

        private String message;

   }
    @Entity
    @Table(name = "child2")
    @Data
    @NoArgsConstructor
    class Child2{

       @Id
       @GeneratedValue
       private long id;

       private float age;

    }

所以我会在运行时通过天气它是 child1 和 child2,我可以在运行时保存它们吗?如果是怎么办?

【问题讨论】:

    标签: java spring-boot spring-data-jpa


    【解决方案1】:

    查看@MappedSuperclassInheritanceType.SINGLE_TABLE 注释。要准确实现您的目标,您必须在代码中使用这两种继承策略之一,以便表正确映射。

    一些例子: https://www.baeldung.com/hibernate-inheritance

    还有: JPA: Implementing Model Hierarchy - @MappedSuperclass vs. @Inheritance

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 2014-02-20
      • 2020-02-03
      • 2018-03-23
      • 2022-01-20
      • 2021-05-31
      • 1970-01-01
      • 2019-03-27
      相关资源
      最近更新 更多