1. 基本查询
public class Criteria1 { public static void main(String[] args) { Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //创建Criteria查询对象 Criteria criteria = session.createCriteria(Customer.class); //执行查询获得结果 List<Customer> list = criteria.list(); System.out.println(list); tx.commit(); session.close(); } } |
2. 条件查询
public class Criteria2 { public static void main(String[] args) { Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //创建Criteria查询对象 Criteria criteria = session.createCriteria(Customer.class); //添加查询条件(查询id为1的Customer对象) criteria.add(Restrictions.eq("cust_id", 1l)); //执行查询获得结果 Customer result = (Customer) criteria.uniqueResult(); System.out.println(result); tx.commit(); session.close(); } } |
3. 分页查询
public class Criteria3 { public static void main(String[] args) { Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //创建Criteria查询对象 Criteria criteria = session.createCriteria(Customer.class); //分页查询 criteria.setFirstResult(2); criteria.setMaxResults(3); //执行查询获得结果 List<Customer> list = criteria.list(); System.out.println(list); tx.commit(); session.close(); } } |
4. 聚合函数查询
public class Criteria4 { public static void main(String[] args) { Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //创建Criteria查询对象 Criteria criteria = session.createCriteria(Customer.class); //聚合函数查询 criteria.setProjection(Projections.rowCount()); //执行查询获得结果 Long count = (Long) criteria.uniqueResult(); System.out.println(count); tx.commit(); session.close(); } } |