Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从同一父级继承2个db模型类并使其在hibernate中工作?_Java_Spring Boot_Hibernate - Fatal编程技术网

Java 如何从同一父级继承2个db模型类并使其在hibernate中工作?

Java 如何从同一父级继承2个db模型类并使其在hibernate中工作?,java,spring-boot,hibernate,Java,Spring Boot,Hibernate,所以在数据库中,我有两个表,其中一些列具有相同的名称/类型 @Entity @Data public class A { @Id private long id; private String name; private int age; } @Entity @Data public class B { @Id private long id; private String name; private String email; } 我希望有一

所以在数据库中,我有两个表,其中一些列具有相同的名称/类型

@Entity
@Data
public class A {
   @Id
   private long id;
   private String name;
   private int age;
}

@Entity
@Data
public class B {
   @Id
   private long id;
   private String name;
   private String email;
}
我希望有一个父类具有
name
字段,因此我不必在类
a
和类
B
中创建它。当我必须遍历记录时,这也会帮助我,因为现在在我的程序中,我有两个99%相同的函数。唯一的区别是类
A
的函数使用这样的循环:
用于(A:aList){A.getname();}
而另一个
用于(B:bList){B.getname();}
。我想将这两个函数转换成如下形式:
for(C:list){C.getName();}

还有这些课程现在的样子:

@Entity
@Data
public class A extends C {
   @Id
   private long id;
   private int age;
}

@Entity
@Data
public class B extends C {
   @Id
   private long id;
   private String email;
}

@Data
public class C {
   private String name;
}
我不能更改数据库。我只能修改我的java类。例如,我不能把它们放在一张桌子上。这两个子类有自己的ID,它们来自不同的表


提前谢谢。

与此同时,我发现我要做的就是将
@MappedSuperClass
添加到类
C

看起来是这样的:

@Data
@MappedSuperclass
public class C {
   private String name;
}
而且效果很好