为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

胡说叔叔 2019-11-25 10:28:41
例如,如果我们有一个表格Books,那么我们如何计算休眠状态下的图书记录总数?
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

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


假设类名是Book:


return (Number) session.createCriteria("Book")

                  .setProjection(Projections.rowCount())

                  .uniqueResult();

它至少是一个Number,很可能是一个Long。


查看完整回答
反对 回复 2019-11-25
?
UYOU

TA贡献1878条经验 获得超4个赞

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


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


查看完整回答
反对 回复 2019-11-25
?
浮云间

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();


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 296 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信