我不确定JPA是否支持它,但是在Hibernate中做到这一点的方法,无论继承策略如何,因此即使您没有区分符(或未将其映射为属性),也要使用隐式
class属性:
String jpql = "select a from Animal a where a.class in (:classes)";Query q = em.createQuery(jpql).setParameter("classes", Arrays.asList(Cat.class, Monkey.class));编辑:
我刚刚发现在JPA2中使用TYPE运算符是可能的:
String jpql = "SELECt a FROM Animal a WHERe TYPE(a) IN :classes";Query q = em.createQuery(jpql).setParameter("classes", Arrays.asList(Cat.class, Monkey.class));


