我有一个抽象的超类实体,如下:
@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 class
创建表。我不明白为什么它不会为其他两个创建表。如果不应该创建它们,那么我将如何映射信息。通过映射信息,我的意思是来自name
类的Notification
属性将如何知道该名称属于哪个类,即抽象类数据库中的名称属于smsNotification
或{{1 }}。