@Test public void test() { SessionFactory sf = null; Session session = null; Transaction ts = null; try { sf = HibernateUtil.getSessionFactory(); session = sf.getCurrentSession(); ts = session.beginTransaction(); // Query Query = session.createQuery("from User as u where (u.age > (select avg(u.age) from User as u)) "); // Query query = session.createQuery("from User as u order by u.birthday,u.name desc"); // Query query = session.createQuery("select u.gender, avg(u.age), count(*) from User as u group by u.gender having avg(u.age) > 21 "); // Query query = session.createQuery("from User as u where u.name like ?1 and u.age > ?2"); / / query. SetParameter (1, "% %"); //query.setParameter(2, 10); Query query = session.createQuery("from User"); int n1 = 3, n2 = 10; /* * setFirstResult (n = 0); /* * setFirstResult (n = 0); /* * setFirstResult (n = 1); n2*(n1-1)+1-1=n2*(n1-1) */ query.setFirstResult(n2 * (n1 - 1)).setMaxResults(n2); List<User> list = query.list(); for (int i = 0; i < list.size(); ++i) System.out.println(list.get(i)); ts.commit(); } catch (Exception e) {e.printStackTrace(); if (ts ! = null) { ts.rollback(); // rollback}}}