猿问

我们如何使用旧版本的Hibernate(〜2009)计算行数?

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



胡说叔叔
浏览 297回答 3
3回答

心有法竹

对于旧版本的Hibernate(<5.2):假设类名是Book:return (Number) session.createCriteria("Book")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .setProjection(Projections.rowCount())&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .uniqueResult();它至少是一个Number,很可能是一个Long。

UYOU

在Java中,我通常需要返回int并使用以下形式:int count = ((Long)getSession().createQuery("select count(*) from Book").uniqueResult()).intValue();

浮云间

如果您使用的是Hibernate 5+,则查询将被修改为Long count = session.createQuery("select count(1) from&nbsp; Book")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .getSingleResult();或者如果您需要TypedQueryLong count = session.createQuery("select count(1) from&nbsp; Book",Long.class)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .getSingleResult();
随时随地看视频慕课网APP

相关分类

Java
我要回答