Java如何使用hibernate最小,最大,平均和总和投影?
下面演示的代码使用Projections.min(),Projections.max(),Projections.avg()和Projections.sum()。
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;
public class MinMaxAvgSumProjectionsDemo {
public static Session getSession() throws HibernateException {
String cfg = "hibernate.cfg.xml";
SessionFactory sessionFactory = new Configuration().configure(cfg)
.buildSessionFactory();
return sessionFactory.openSession();
}
public static void main(String[] args) {
try (Session session = getSession()) {
Criteria criteria = session.createCriteria(Track.class)
.setProjection(Projections.max("duration"));
Integer maxDuration = (Integer) criteria.uniqueResult();
System.out.println("Max Track Duration = " + maxDuration);
criteria.setProjection(Projections.min("duration"));
Integer minDuration = (Integer) criteria.uniqueResult();
System.out.println("Min Track Duration = " + minDuration);
criteria.setProjection(Projections.avg("duration"));
Double avgDuration = (Double) criteria.uniqueResult();
System.out.println("Avg Track Duration = " + avgDuration);
criteria.setProjection(Projections.sum("duration"));
Long totalDuration = (Long) criteria.uniqueResult();
System.out.println("Total Track Duration = " + totalDuration);
}
}
}
热门推荐
10 幽默的离职祝福语简短
11 导师寄语简短祝福语大全
12 新婚男士祝福语大全简短
13 新年祝福语简短 经典短句
14 喜欢表姐结婚祝福语简短
15 桔梗配什么祝福语简短
16 美国护士毕业祝福语简短
17 中考花束祝福语霸气简短
18 妹妹考上军校祝福语简短