如何使用旧版本的Hibernate(~2009)来计算行数?

2022-08-31 05:39:02

例如,如果我们有一个表格 Books,我们如何计算休眠状态的书籍记录总数?


答案 1

对于旧版本的 Hibernate (<5.2):

假设类名是 Book:

return (Number) session.createCriteria("Book")
                  .setProjection(Projections.rowCount())
                  .uniqueResult();

它至少是一个,最有可能是一个 。NumberLong


答案 2

在Java中,我通常需要返回int并使用以下形式:

int count = ((Long)getSession().createQuery("select count(*) from Book").uniqueResult()).intValue();

推荐