gpt4 book ai didi

java - Extend an entity class in JPA throws Unknown column 'DTYPE' in 'field list' 错误

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:36 25 4
gpt4 key购买 nike

@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,
}

员工类扩展Person

@Entity    
public class Employee extends Person {

@Transient
private Date joiningDate;


// Copy Constructors and Getter/Setter methods,
}

Employee 类只有一个 transient 对象,所以我不确定是否使用 @DiscriminatorColumn 和 @DiscriminatorValue,当我尝试不使用 Discriminator 时会抛出错误

session.save(employee);

我正在尝试保存在“字段列表”错误中抛出未知列“DTYPE”的 Employee 对象

最佳答案

我在使用 EclipseLink 时遇到了同样的问题,我尝试使用 @discriminator 注释......但没有成功因为在这个解决方案中,必须在 2 个表中添加一个特定的列。

我无法在表格中添加列,所以我找到了以下解决方案:

@Entity
@Table(name = "PERSON")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Person {

我刚刚将继承类型从 SINGLE_TABLE 更改为 TABLE_PER_CLASS

我在 Thoughts on Java 上找到了有用的解释

仅供引用,我的 2 个表实际上是 1 个表和具有 2 或 3 个连接的同一个表上的 View 。

关于java - Extend an entity class in JPA throws Unknown column 'DTYPE' in 'field list' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43619503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com