zoukankan      html  css  js  c++  java
  • DetachedCriteria的使用详解

    DetachedCriteria可以脱离session的生命周期,对应相同的查询条件可以重复使用,增加了查询条件的重用性,同时不用每次使用criteria时都要重复创建session,而session的销毁同时也会使得criteria失效,使用DetachedCriteria可以在每次使用时与当前的session实例绑定可以获得更好的代码重用性,同时使某些通用的查询条件抽离出来。此为DetachedCriteria的作用之一:

    实例代码:

    public void testDetached(){

           TUser user=new    TUser();

           DetachedCriteria deCriteria=DetachedCriteria.forClass(TUser.class);

           deCriteria.add(Expression.eq("name", "sky"));

           Criteria criteria=deCriteria.getExecutableCriteria(session);

           Iterator it=criteria.list().iterator();

           while(it.hasNext()){

               user=(TUser)it.next();

               System.out.println(user.getName()+" "+user.getAge()+" "+user.getId());

              

              

           }

          

        }

    作用之二:

    用于子查询表达式:

    public void testDetach(){

           TUser user=null;

           DetachedCriteria avgAge=DetachedCriteria.forClass(TUser.class);

           avgAge.setProjection(Projections.avg("age"));

           Criteria criteria=session.createCriteria(TUser.class);

           criteria.add(Subqueries.propertyGt("age", avgAge));

           List list=criteria.list();

           for(int i=0;i<list.size();i++){

               user=(TUser)list.get(i);

               System.out.println(user.getAge()+"  "+user.getName());

              

           }

          

        }

  • 相关阅读:
    linux环境下安装redis扩展
    LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)
    Linux环境下网卡配置
    MAC 下虚拟主机的配置
    从json_encode过来的的字符串被返回到html页面时的解析
    for循环绑定事件,闭包思想!
    js8月-4号,,思想
    三种添加事件的方式
    smarty第一天
    5秒钟后自动跳转!!!!
  • 原文地址:https://www.cnblogs.com/moonfans/p/2957362.html
Copyright © 2011-2022 走看看