获取分页行数

时间:2019-06-28 18:36:46

标签: java sql hibernate hql

我正在实现分页,并希望在设置最大结果之前获取所有记录的计数。这是我的原始查询:

String queryString = "SELECT pm FROM FriendComputer pm LEFT JOIN FETCH pm.computer m WHERE pm.friendAccount.id = :friendId "
org.hibernate.query.Query q = session().createQuery(queryString, FriendComputer.class).setParameter(
            "friendId", friendId);

 q.setFirstResult(0);
 q.setMaxResults(25);

我想做这样的事情:

String queryString = "SELECT count(*), pm FROM FriendComputer pm LEFT JOIN FETCH pm.computer m WHERE pm.friendAccount.id = :friendId "
org.hibernate.query.Query q = session().createQuery(queryString).setParameter(
            "friendId", friendId);

在这里,我要提取第一个结果以获取总行数。但是查询返回一个Object [],我不知道如何提取结果。我希望能够像以前一样设置第一个结果和最大结果。

1 个答案:

答案 0 :(得分:0)

我很确定这不能完成。您必须发出2个查询。