1. 程式人生 > >Hibernate中Criteria查詢常用方法

Hibernate中Criteria查詢常用方法

前面的對映連結資料庫就略過了

Criteria 介面與Query介面非常型別,允許建立並執行面向物件的標準化查詢.值的注意的是Criteria介面是輕量級的,不能再Session只玩使用
首先使用Criteria,必須得到Criteria
    Criteria criteria=session.createCriteria();
    Criteria criteria = session.createCriteria(Customer.class); //新增實體類class
查詢操作
    查詢所有        
        List<Customer> list = criteria.list();
    分頁查詢    
        criteria.setFirstResult(0); 從0開始
        criteria.setMaxResults(3);  每頁3個物件
        List<Customer> list = criteria.list();
    等於
        criteria.add(Restrictions.eqOrIsNull("id", 8));
    模糊查詢
        criteria.add(Restrictions.like("name","%白%"));
    大於等於
        criteria.add(Expression.ge("id", 5));
    小於等於
        criteria.add(Expression.le("id", 5));
    範圍間查詢
        criteria.add(Expression.between("id", 5, 10));
    對結果排序
        criteria.addOrder(Order.desc("id"));--逆序
        criteria.addOrder(Order.asc("id"));--順序
    聚合函式查詢
        criteria.setProjection(Projections.avg("id"));
        criteria.setProjection(Projections.max("id"));
        criteria.setProjection(Projections.min("id"));
        criteria.setProjection(Projections.groupProperty("id"));
        criteria.setProjection(Projections.sum("id"));
        criteria.setProjection(Projections.count("id"));
        int num=criteria.list().iterator().next();
    限定返回資料行數
        criteria.setFirstResult(0); 從0行開始
        criteria.setMaxResults(3);  共查詢3行