Java 抽象实体类映射
我有一个抽象超类实体,如下所示:Java 抽象实体类映射,java,hibernate,entity,abstract-class,Java,Hibernate,Entity,Abstract Class,我有一个抽象超类实体,如下所示: @Entity public abstract class Notification { @id private int id; private Stringname; public String getName(){ return name; } public void setName(String name){ this.name = name; } } 然后,我有两个类扩展了这个抽象类 @Entity p
@Entity
public abstract class Notification {
@id
private int id;
private Stringname;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
然后,我有两个类扩展了这个抽象类
@Entity
public class smsNotifcation extends Notification {
@id
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
@Entity
public class emailNotifcation extends Notification {
@id
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
当我使用
persistence.xml
在PostgreSQL
中自动创建表时,它只为通知类创建表。我无法理解为什么它不会为另外两个创建表。如果不应该创建它们,那么我将如何映射信息。通过映射信息,我的意思是Notification
类的name
属性如何知道该名称属于哪个类,即抽象类数据库中的名称属于smsNotification
或emailNotification
这是否回答了您的问题@马克:不幸的是,没有。我对给定的例子感到困惑,因为它有相似的名字init。如果可能的话,你可以在这个可能的场景中向我解释,谢谢。