java - 如何获取@DiscriminatorColumn()的值?

标签 java jpa

你好 我在 EJB 中遇到继承问题。之后我向您展示我的代码

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="PROJ_TYPE")
@Table(name="PROJECT")
public abstract class Project {
  @Id
  private long id;
  ...
}

@Entity
@DiscriminatorValue("L");
@Table(name="LARGEPROJECT")
public class LargeProject extends Project {
  private BigDecimal budget;
}

@Entity
@DiscriminatorValue("S");
@Table(name="SMALLPROJECT")
public class SmallProject extends Project {
}

如何获取值

PROJ_TYPE

。我使用 nativeQuery 的唯一解决方案,但是还有其他解决方案吗???

抱歉我的英语不好 预先感谢您

最佳答案

还应该可以将鉴别器映射为附加列,只要它不可更新或可插入。

@Column(name="PROJ_TYPE", nullable=false, updatable=false, insertable=false)
private String projectType;

关于java - 如何获取@DiscriminatorColumn()的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232699/

相关文章:

spring - 未定义名为 'entityManagerFactory' 的 bean,bean 引用问题

java - 来自属性文件的 Persistence.xml 字段值

java - 我的 java 客户端无法与我的 python 服务器一起使用

java - JScrollPane 中的滚动条不刷新

java - 通过java打开需要认证的网页

java - 使用 CriteriaQuery API 的多态 JPA 查询

java - 执行一对一映射时,Hibernate 不会填充第二个表

java - 运行 Web 服务时出现 Axis2 错误

java - 子类中是否存在父类(super class)构造函数(但不被继承)?

java - 当 ID 为字符串时 N + 1 (JpaRepository)