您的位置:首页 > 其它

Hibernate离线查询(DetachedCriteria)

2011-08-28 12:14 429 查看
----------------------------------------dao---------------------------------------------------------------------------

//离线查询
 @SuppressWarnings("unchecked")
 public List detachedCriteria(final DetachedCriteria detachedCriteria)
 {
  return this.getHibernateTemplate().execute(new HibernateCallback()
  
  {
   public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
    //构造Criteria,detachedCriteria与session关联下
    Criteria criteria = detachedCriteria.getExecutableCriteria(session);
    return criteria.list();
   }
  });
 }


-------------------------------------service-----------------------------------------------------------------------------

@Transactional(propagation=Propagation.SUPPORTS,readOnly=true)
 public List detachedCriteria(final DetachedCriteria detachedCriteria)
 {
  return hibernateDao.detachedCriteria(detachedCriteria);
 }


--------------------------------------Action--------------------------------------------------------------------------------

/**
  * 离线查询
  */
 @SuppressWarnings("unchecked")
 public String detachedCriteria()
 {
  //构造DetachedCriteria对象
  DetachedCriteria dc = DetachedCriteria.forClass(User.class);
  
  //构造条件
  if(null!=user){
   String userName = user.getUserName();
   if(userName!=null && !"".equals(userName)){
       dc.add(Restrictions.eq("userName", user.getUserName()));
   }
   String passWord = user.getPassWord();
   if(passWord!=null && !"".equals(passWord)){
    dc.add(Restrictions.eq("passWord", user.getPassWord()));
   }
  }
  //查询
  List list = springService.detachedCriteria(dc);
  System.out.println(list.size());
  for(int i=0;i<list.size();i++)
  {
   System.out.println(list.get(i));
  }
  return "success";
 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: