DetachedCriteria对象实现离线查询

来源:互联网 发布:淘宝电脑维修可靠吗 编辑:程序博客网 时间:2024/06/05 07:33
Criteria对象在运行时与Session对象绑定,所以二者的生命周期想通,即当Session对象失效后,Criteria对象也失效。Criteria生命期短而且不能重复使用。
DetachedCriteria对象可以实现离线查询可以解决Criteria不足

离线查询在web应用在某些功能实现中很有用,如在分层的web应用中有需要实现动态条件查询。


获取数据库中表中字段某一值的全部记录的代码实例:


/*获取数据库中的ClassMenuEntity表中的字段id=pid的全部记录这属于web工程里Action类的代码段*/String pid = request.getParameter("pid");DetachedCriteria dc = DetachedCriteria.forClass(ClazzMenuEntity.class);//创建实例dc.add(Restrictions.eq("parentMenuEntity.id", pid));List<ClazzMenuEntity> menuList = clazzMenuDao.findByExample(dc);         

              

/*这段为DaoImpl中的代码段getSessionFactory().getCurrentSession()获取当前的session(spring)*/public List findByExample(DetachedCriteria dc) {     return dc.getExecutableCriteria(getSessionFactory().getCurrentSession()).list();}


未完成。。。待续

0 0
原创粉丝点击