当前位置: 首页 > 知识库问答 >
问题:

扩展JPA中的实体类引发“field list”错误中的未知列“dtype”

常明亮
2023-03-14
@Entity
@Table(name = "PERSON")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)  
public class Person {    
    @Id
    @GeneratedValue
    @Column(name = "PERSON_ID")
    private Long personId;

    @Column(name = "FIRSTNAME")
    private String firstname;

    @Column(name = "LASTNAME")
    private String lastname;

    // Constructors and Getter/Setter methods, 
}

Employee类扩展Person

@Entity    
public class Employee extends Person {

    @Transient
    private Date joiningDate;   


    // Copy Constructors and Getter/Setter methods, 
}

Employee类只有一个瞬态对象,所以我不确定是否使用@DiscriminatorColumn和@DiscriminatorValue,因为我尝试不使用抛出错误的Discriminator

session.save(employee);

共有1个答案

华佐
2023-03-14

您应该使用@DiscriminatorColumn和@DiscriminatorValue。你可以在这里找到一个很好的例子。

 类似资料:
  • 我有一个Hibernate实体,,它工作正常: 我想确定此对象何时更改并在我的应用程序中更新一些。我能想到的最简单的方法是扩展并覆盖setter: 这在我的应用程序中工作得很好,但是当我开始持久化实体时,Hibernate抱怨它不知道什么是< code>ExtendedEvent。 我可以看出扩展Hibernate实体是一个不小的问题,尤其是当您开始添加字段时——但是我所希望的是Hibernate

  • 我有一个抽象的BaseEntity类,所有具体的entity类都是从它扩展的。 以上设计是否有问题;at线 因为我希望连接表“baseentity_tag”(列“baseuid”)在每个具体实体类中都有引用,比如concrete1.java、concrete2.java等? 我想一个通用的连接表“baseEntity_tag”将不能满足所有具体实体的需要。

  • 您好,我是JPA Spring boot的新手,现在我正在尝试将两个表之间的连接转换为第三个表。所以我有一个医生和病人表,其中有它的属性,一个医生可以检查每个病人,一个病人可以看望每个医生。但是在一次检查中,不能有超过一个病人和一个医生。对于医生,我想保留他们检查过的患者的信息,分别是患者的信息,以及他们检查过的医生的信息。我想创建一个名为DoctorVisit的中间表,其中我有做检查的医生的id

  • 首先,我的课程: 使用者 角色地图。JAVA 当我尝试在服务器上运行这个我有这样的异常:错误创建bean与名称'SessionFactory'定义在ServletContext资源[/WEB-INF/类/base Beans.xml]:调用init方法失败;嵌套的异常org.hibernate.注释异常:映射通过引用一个未知的目标实体属性:com.patpuc.model.ap.users在com

  • 即使我在表中设置了关系和定义了外键,我得到这个错误的原因是什么?

  • 从2月7日起,我所有的测试都因同样的错误而失败;日志条目如下所示: 我不确定这是否是由Chrome更新或其他原因造成的——消息本身就很模糊。 编辑:我正在使用C#,和最新的ChromeDrive。