DetachedCriteria的使用】的更多相关文章

此文章是基于 搭建SpringMVC+Spring+Hibernate平台 1. DetachedCriteria构建类:CriteriaBuilder.java package com.ims.persistence.base; import java.math.BigDecimal; import java.sql.Types; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.hibe…
记录本例查询初衷: 有表: 表1,表2,表3 关系 1 many-to-one 2 2 many-to-one 3 结果:要通过表3中的条件反向查询表1中相关的数据 public Page<WeiCommentComment> findPageWeiCommentCommentByUserid( String userid, PageParam pageParam) { DetachedCriteria dc = super.getDetachedCriteria(); if(StringUt…
Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的:而 DetachedCriteria 是离线的,创建时无需Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name)进行DetachedCriteria 实例的创建. Spring 的框架提供了getHibernateTemplat…
今天笔记主要是记录笔记,以及代码: criteria: 创建查询接口:createCriteria(class) 查询条件接口:add(各种条件); Restrictions 提供了设置参数的各种接口 逻辑运算 not or and 字符串模式匹配 like ilike 范围运算 in not in between between and 比较运算 eq/le/lt..... 集合运算 isNotEmpty 可以链式编程 List grades=session.createCriteria(Gr…
Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询. 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句.这里的一个难点是条件列表用什么来构造?传统上使用Map,但是这种方式缺陷很大,Map可以传递的信息非常有限,只能传递name…
一.基本使用 1. 说明 Restrictions 是产生查询条件的工具类. 2. 定义 可以直接用class 创建 DetachedCriteria searDc = DetachedCriteria.forClass(QymlPerson.class); 也可以用hibernate 的session 创建 session.createCriteria(Student.class) 3. 条件查询 3.1 多条件的and 规则 通过searDc.add(Restrictions.eq("uni…
  分类: Java-Developing  前段时间在做模糊查询,并利用数据库分页,DAO用hibernate实现,刚开始的时候 根据业务层的数据,拼hql语句进行查询,且不说要进行一些if判断,单从结构上来说, 底层的数据访问层依赖于业务层或者表现层了.   比如说,我想查询姓王的员工,年龄大于30岁的,在DAO显然要name like '%王' and age >30,如果业务发生变化,查询与王**姓名相同,年龄等于30的,那就改hql语句吧, name ='王**' and age =3…
转自:http://javapub.iteye.com/blog/1149709 Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所 以它是由 Hibernate Session 进行创建的:而 DetachedCriteria 是离线的,创建时无需 Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCrit…
1.背景了解:Hibernate的三种查询方式 Hibernate总的来说共有三种查询方式:HQL.QBC和SQL三种,这里做简单的概念介绍,不详细进行展开. 1.1 HQL(Hibernate Query Language) 与所熟悉的SQL的语法差不太多,不同的就是把表名换成了类或者对象,如下示例: @Override public SysUser findUserByLoginName(String pLoginName) { String hql = "from SysUser as u…
# 具有一个直观的.可扩展的条件查询API是Hibernate的特色. # # 15.1. 创建一个Criteria 实例 # org.hibernate.Criteria接口表示特定持久类的一个查询.Session是 Criteria实例的工厂. # # Criteria crit = sess.createCriteria(Cat.class); # crit.setMaxResults(50); # List cats = crit.list(); # 15.2. 限制结果集内容 # 一个…
 前段时间在做模糊查询,并利用数据库分页,DAO用hibernate实现,刚开始的时候 根据业务层的数据,拼hql语句进行查询,且不说要进行一些if判断,单从结构上来说, 底层的数据访问层依赖于业务层或者表现层了.   比如说,我想查询姓王的员工,年龄大于30岁的,在DAO显然要name like '%王' and age >30,如果业务发生变化,查询与王**姓名相同,年龄等于30的,那就改hql语句吧, name ='王**' and age =30,数据访问层依赖于业务层,觉得不合理.  …
Hibernate 定义了 CriteriaSpecification 接口规范用来完成面向对象的条件查询,Criteria 和 DetachedCriteria 就是 CriteriaSpecification 的子接口. 在进行本篇的内容之前,我们先来大致说一说 Criteria 和 DetachedCriteria 的主要区别: Criteria 和 DetachedCriteria 的创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建…
Restrictions.like() 模糊查询,以及使用DetachedCriteria查询的一般用法 2016-10-10 16:52:38                                                 SSH框架学习                    共1899人围观                    0个不明物体                    Restrictions.like() 模糊查询,以及使用DetachedCriteria查询的…
1 原例概述 别名重复问题之后,我们还需要解决的问题就是: 如何清除hibernate的上次查询条件,如果不清除,将会导致上次的查询条件和下次的查询条件合并到了一起. 上次的查询条件和本次的查询条件合并到了一起. 解决之前的代码如下: public String pageQuery() throws Exception { DetachedCriteria dc = pageBean.getDetachedCriteria(); //每一次分页查询的时候应该先清除之前的条件 // 动态添加过滤条…
http://uule.iteye.com/blog/947923转载 在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询. 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句.这里的一个难点是条件列表用什么来构造?传统上使用Map,但是这种方式缺陷很大,Map可以传递的信息非常有限,只能传递name和value,无法传递…
今天看到项目中在Web层使用DetachedCriteria进行多条件查询操作,如果在web层做持久层操作,事物还存在吗?这是我第一反应,于是乎就去网上查资料了.结果发现即在web层,程序员使用DetachedCriteria来构造查询条件,然后将这个 DetachedCriteria作为方法调用参数传递给业务层对象.对于业务层对象可以获得DetachedCriteria之后,在session范围内直接构造Criteria,进行查询.就此,查询语句的构造完全被搬离到web层实现,而业务层则只负责…
一. DetachedCriteria使得hibernate能够对查询条件进行面向对象的方式来组装.其创建方式有两种: 1.1直接用class创建:DetachedCriteria criteria =DetachedCriteria.forClass(t.class); 1.2用hibernate 的session 创建:session.createCriteria(Student.class). 二.条件查询 2.1 多条件的and 规则 Restrictions 是产生查询条件的工具类.通…
现在对 Hibernate的Criteria 的用法进行总结:     Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的:而 DetachedCriteria 是离线的,创建时无需Session,D…
离线查询使用DetachedCriteria对象设置限制条件,然后再通过session获取Criteria对象. 使用场景: 例如Biz类和Dao类,在Dao类中利用session操作CRUD,如果你想在Biz中设置限定条件,如果不使用离线查询,那么势必得获取Criteria对象,如此一来又得获取session,有点麻烦. 但是使用离线查询的话,可以直接获取DetachedCriteria对象设置限定条件,然后再将这个对象传递到Dao中即可.…
设计上能够灵活的依据 Criteria 的特点来方便地进行查询条件的组装.如今对 Hibernate的Criteria 的使用方法进行总结:    Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口.以下提供了 Criteria和DetachedCriteria .    Criteria 和 DetachedCriteria 的主要差别在于创建的形式不一样. Criteria 是在线的,所 以它是由 Hibernate Session 进行…
DetachedCriteria和Criteria的使用方法 /*  * 下载统计  * @return  */ public String downloadStatistics(){  logger.info("正在执行目录内容统计下载");    String type = getServletRequest().getParameter("type");  DetachedCriteria dc = DetachedCriteria.forClass(TbXy…
原文地址:http://blog.sina.com.cn/s/blog_667528fd0100rkrf.html 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 Hibernate的Criteria 的用法进行总结:   Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria .   Criteria 和 DetachedCriteria 的主要区…
https://www.cnblogs.com/deng-cc/p/6428599.html 1.背景了解:Hibernate的三种查询方式 Hibernate总的来说共有三种查询方式:HQL.QBC和SQL三种,这里做简单的概念介绍,不详细进行展开.   1.1 HQL(Hibernate Query Language) 与所熟悉的SQL的语法差不太多,不同的就是把表名换成了类或者对象,如下示例:                 1 @Override 2 public SysUser fin…
       首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如果没有这一特性,当查询某一个含有外键的实体对象时,hibernate会把其他实体对象的数据都查询出来.简单的来说,当你想查询某个对象时,实际上调用了多条查询语句.有了延迟加载特性,就避免了这种情况的发生,当你真正的使用get另外一个实体对象时,才再执行下面一条查询语句.           但有些时…
写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解释 语言及真实的代码. 今天呢,我就详细的写着 Hibernate框架的一种检索方式:Criteria查询.下面我写的这些案例,可能对于大牛没有什么好看的,但是对于初学者来说,却是一笔财富. 首先我们要知道的检索方式:  Hibernate框架提供了5种检索对象的方式      1.导航对象图检索方…
一. 开发环境 1. 点击此查看并下载需要的 Eclipse IDE for Java EE Developers 开发工具,推荐选用32位   2. 点击此查看并下载需要的 MySQL Server 数据库,推荐选用32位 3. 点击此找到并下载  Java SE Development Kit 6u45,推荐选用32位 4. 点击此找到并下载  apache-tomcat-6.0.48.zip,兼容32位和64位版本 二. 准备工作 1. 点击此找到并下载 spring-framework-…
作为老牌的 ORM 框架,Hibernate 在推动数据库持久化层所做出的贡献有目共睹. 它所提供的数据查询方式也越来越丰富,从 SQL 到自创的 HQL,再到面向对象的标准化查询. 虽然查询方式有点眼花缭乱,配置使用起来也稍微有点复杂. 但是丝毫掩盖不了它迷人的地方,本篇博客试着汇总 Hibernate 所有的查询方式. 萝卜青菜各有所爱,工作中可以根据自己的喜好选择其中的几种进行编程. 1. HQL 方式,参数使用问号占位(4.1 版本中已被废弃) public List<UserPO>…
Struts2+Spring+Hibernate导包 Struts2导入jar包 struts2/apps/struts2-blank.war/WEB-INF/lib/*.jar 导入与spring整合的jar struts2/lib/struts2-spring-plugin-2.3.15.3.jar --- 整合Spring框架 struts2/lib/struts2-json-plugin-2.3.15.3.jar --- 整合AJAX struts2/lib/struts2-conven…
首先给出基本Dao层代码: GenericDao.java package com.agen.dao; import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Map; import org.hibernate.Criteria; import org.hibernate.criterion.Criterion; import org.hibernate.c…
1,CriteriaHibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria .2,DetachedCriteriaSpring 的框架提供了getHibernateTemplate().findByCriteria(detachedCriteria) 方法可以很方便地根据DetachedCriteria 来返回查询结果.DetachedCriteria 提供了 2 个静态方法 for…