Java 冬眠中的遗传

Java 冬眠中的遗传,java,hibernate,inheritance,Java,Hibernate,Inheritance,我在hibernate中使用继承, 我有表数据库中的Atom、Person和Company。我需要这样做: @Entity @Inheritance(strategy = InheritanceType.JOINED) public abstract class Atom { .... } public abstract class Contact extends Atom { .... } @Entity public class Person extends Contac

我在hibernate中使用继承, 我有数据库中的Atom、Person和Company。我需要这样做:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Atom {
    ....
}

public abstract class Contact extends Atom {
    ....
}

@Entity
public class Person extends Contact {
    .......
}

@Entity
public class Company extends Contact {
    .....
}
联系人没有表

我无法作为实体联系,因为它没有表。我打算放置与Atom相同的类注释

@Entity
@Inheritance (strategy = InheritanceType.JOINED)
public abstract class extends Atom Contact

但是搜索联系人表,该表不存在

有关MappedSuperclass的更多信息,请阅读这些文档:


我认为
Atom
Contact
实际上应该用
MappedSuperClass
进行注释。实际上是否有一个表用于
Atom
?如果Contact没有表,为什么要创建一个类?@Thomas Atom是另一个类的父类,Atom有一个表。联系人的属性与个人和个人共享Company@AlfredoO我不想要一张联系人表原子的数据是什么还要注意的是,继承策略
JOINED
需要为
Contact
创建一个表,否则连接将不起作用。或者,将公共属性设置为可嵌入对象,并将其嵌入到
公司
个人
中。