DetachedCriteria离线查询示例

Dao层:

//离线查询
    public List findByDet(DetachedCriteria c){
        return c.getExecutableCriteria(HibernateSessionFactory.getSession()).list();
        }

//BIz业务层


//离线查询
    public List findByDet(){
        
        DeptDao dao=new DeptDao();
        DetachedCriteria c=DetachedCriteria.forClass(Emp.class,"c")
        .setProjection(
                Projections.projectionList()
                .add(Projections.count("empno"))
                //.add(Property.forName("job"))
                .add(Projections.avg("sal"),"avg")
                .add(Projections.max("sal"))
                .add(Projections.min("sal"))
                //.add(Projections.groupProperty("dept.deptno"))//dept会返回完整的deptno
                .add(Property.forName("dept.deptno").group())
                
                )
                //加上条件后的离线查询
                .add(Restrictions.gt("dept.deptno",(byte)10))
                .addOrder(Order.asc("avg"));
        return dao.findByDet(c);
        
    }

你可能感兴趣的:(框架)