使用JPA和映射的超类进行多态查询以返回特定具体实体的计数

时间:2012-09-13 04:52:24

标签: hibernate jpa hql named-query

我有一个BaseEntity抽象类,它是我所有实体的超类。这是MappedSuperClass。现在我想在基础实体上定义一个命名查询,以便它返回特定子类实体的计数。因此,例如,如果A类子类BaseEntity,我可以为类A运行命名查询并返回A的计数,即数据库中存在的类A的行数。是否可以使用JPA 1.0和hibernate作为实现者? (我想避免在我的每个实体上放置一个命名查询而不是基本实体来返回计数) 谢谢, -v -

1 个答案:

答案 0 :(得分:1)

你可以查询它

int count = session.createCriteria(Subclass.class)
    .setProjection(Projections.rowCount())
    .uniqueResult();