JPA(和继承)如何获取给定超类的所有实体

时间:2011-07-11 13:25:36

标签: java jpa

给出以下实体定义:

@Entity
class abstract A {
    Collection<A> parents;
}


@Entity
class B extends A {

}


@Entity
class C extends A {

}

是否可以定义一个返回B&amp;类型的所有实体的方法。 C有一个给定的父级,没有必须进行两次单独的调用然后合并结果?

Collection<A> getAllByParentId(long id)

1 个答案:

答案 0 :(得分:10)

应该这么简单:

List<A> results = entityManager
                      .createQuery("Select a from A a", A.class)
                      .getResultList();