Hibernate count rows with some criterias

后端 未结 6 973
生来不讨喜
生来不讨喜 2021-02-07 15:16

Suppose I have a table Person and i want to count all those people whose \"birthDate\" is not null and they are a student. Assuming i have two columns :

birthDat         


        
6条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-07 15:44

    Criteria crit = session.createCriteria(Person.class);
    crit.setProjection(Projections.rowCount());
    crit.add( Restrictions.isNotNull("birthDate"));
    crit.add( Restrictions.eq("isStudent", true));
    return (Long) crit.uniqueResult();
    

    The (Long)crit.uniqueResult() will cause NonUniqueResultException. I check the crit.list(). It is an ArrayList having 2 items. The first item of the arraylist contains the count. The second item always contains a 0. Is it the expected result of rowCount?

    Thanks

提交回复
热议问题