例如,如果我们有一个表格Books,那么我们如何计算休眠状态下的图书记录总数?
3 回答

心有法竹
TA贡献1866条经验 获得超5个赞
对于旧版本的Hibernate(<5.2):
假设类名是Book:
return (Number) session.createCriteria("Book")
.setProjection(Projections.rowCount())
.uniqueResult();
它至少是一个Number,很可能是一个Long。

UYOU
TA贡献1878条经验 获得超4个赞
在Java中,我通常需要返回int并使用以下形式:
int count = ((Long)getSession().createQuery("select count(*) from Book").uniqueResult()).intValue();

浮云间
TA贡献1829条经验 获得超4个赞
如果您使用的是Hibernate 5+,则查询将被修改为
Long count = session.createQuery("select count(1) from Book")
.getSingleResult();
或者如果您需要TypedQuery
Long count = session.createQuery("select count(1) from Book",Long.class)
.getSingleResult();
添加回答
举报
0/150
提交
取消