我在db中有一个表,我想知道该实例是哪种类型。我有两个不同类型的entites。我有问题。 我的第一个实体是:
@Entity
@Table(name = "lekarfizo")
@DiscriminatorColumn(name = "type")
@DiscriminatorValue("lekar")
第二个:
@Entity
@Table(name = "lekarfizo")
@DiscriminatorValue("fizio")
public class Fizioterapeut extends Lekarfizo
问题是第一个实体可以是第二个实例。第二个工作正常,第二个只能是实例第二个实体。我想知道如何解决这个问题并在这两个实体之间做出改变。
答案 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?