鉴别器Java Jpa Class扩展可以是类型固定类

时间:2016-04-23 23:02:31

标签: java jpa discriminator

我在db中有一个表,我想知道该实例是哪种类型。我有两个不同类型的entites。我有问题。 我的第一个实体是:

@Entity
@Table(name = "lekarfizo")
@DiscriminatorColumn(name = "type")  
@DiscriminatorValue("lekar")  

第二个:

@Entity
@Table(name = "lekarfizo")
@DiscriminatorValue("fizio")  

public class Fizioterapeut extends Lekarfizo 

问题是第一个实体可以是第二个实例。第二个工作正常,第二个只能是实例第二个实体。我想知道如何解决这个问题并在这两个实体之间做出改变。

1 个答案:

答案 0 :(得分:0)

使用带有TYPE运算符的实体类型表达式

List<Lekarfizo> rm = em.createQuery("select l from Lekarfizo l where type(l) = Lekarfizo", Lekarfizo.class).getResultList();
System.out.println(rm);

参考:How do I query for only superclass entities in a jpql query?