Java hibernate如何使用Projections计算总记录?
以下示例显示了如何使用来获取总行数Projections.rowCount()。该查询的结果将是一个对象,Integer其中包含执行SQL选择计数(*)命令的结果。
package org.nhooo.example.hibernate.criteria;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.HibernateException;
import org.hibernate.Criteria;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Projections;
import org.nhooo.example.hibernate.model.Track;
import java.util.List;
public class ProjectionsCountDemo {
public static Session getSession() throws HibernateException {
String cfg = "hibernate.cfg.xml";
SessionFactory sessionFactory = new Configuration().configure(cfg)
.buildSessionFactory();
return sessionFactory.openSession();
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try (Session session = getSession()) {
Criteria criteria = session.createCriteria(Track.class)
.setProjection(Projections.rowCount());
List result = criteria.list();
if (!result.isEmpty()) {
Long rowCount = (Long) result.get(0);
System.out.println("Total records: " + rowCount);
}
}
}
}
热门推荐
10 小爱心卡片祝福语简短
11 跟女生道别祝福语简短
12 送你妹妹新婚祝福语简短
13 朋友公司怎么祝福语简短
14 搞笑祝福语生日老师简短
15 新婚祝福语简短老同学
16 男士结婚晚宴祝福语简短
17 开业服装贺卡祝福语简短
18 祝福语结婚诗句大全简短