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;
}
而且效果很好