`

Hibernate 使用 HQL 查询 使用List 作为查询条件的注意

阅读更多

今天是需要过滤查询保单号,使用了 List 作为过滤条件,如下:

HQL:  where id.publicPolicyId in(?)

java:  query.setParameter(0, (ArrayList类型)tmpList);

但是总报错误,

Can not bind to Type java.util.ArrayList

问同事,原来更改条件设置方法:

query.setParameterList("plist", tmpList);

查询成功。

代码如下:

			String hql = "select publicPolicyId from TMuster where musterDate >= ? and publicPolicyId between ? and ? ";
			Query query = session.createQuery(hql);
			query.setParameter(0, DateUtil.toDate("2010-01-01"));
			query.setParameter(1, policyIdStart);
			query.setParameter(2, policyIdEnd);
			List tmpList = query.list();
			if(tmpList == null){return null;}
			
			// 过滤查询 TPolicyInsurantTemporary 非空条件
			
			hql = "select id.publicPolicyId from TPolicyInsurantTemporary where id.publicPolicyId in(:plist) and name <> '' and cert <> '' and cerc <> '' ";
			query = session.createQuery(hql);
			query.setParameterList("plist", tmpList);
			tmpList = query.list();
			if(tmpList == null){return null;}
			
			// 过滤查询 PublicPolicyTemporary 非空条件
			
			hql = "from TPublicPolicyTemporary where publicPolicyId in(:plist) and applyName <> '' and applyCert <> '' and applyCerc <> '' and billNo <> '' ";
			query = session.createQuery(hql);
			query.setParameterList("plist", tmpList);
			tmpList = query.list();
			if(tmpList == null){return null;}
			rstList = this.TPublicPolicyTrVO(tmpList);
			

 

分享到:
评论

相关推荐

    HQL语法大全,并带有详细的例子

    HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按 如下步骤进行: (1)获取Hibernate Session对象; (2)编写HQL语句; (3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象; (4)...

    hibernateのHQL

    2、HQL最终也会生成SQL,也就是说 HQL使用范围是&lt;SQL的范围 3、HQL是由query对象获得。 hql sql 面向对象 面向结构(表) 操作的是实体类 ,类属性 表,表列段 命名参数占位 占位符 使用hql的几种返回...

    Hibernate+中文文档

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. ...

    Hibernate实战(第2版 中文高清版)

     15.1.1 基本的条件查询   15.1.2 联结和动态抓取   15.1.3 投影和报表查询   15.1.4 按示例查询   15.2 利用原生的SQL查询   15.2.1 自动的结果集处理   15.2.2 获取标量值   15.2.3 Java ...

    最全Hibernate 参考文档

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. Session刷出...

    hibernate操作数据库笔记

    一.使用Hibernate的Session对象操作数据库 1.初始化Hibernate:在要使用Hibernate的类的方法中实例化Configuration对象并用Configuration对象的configure()方法将hibernate... //HQL(Hibernate Query Language)语句查询

    HibernateAPI中文版.chm

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. ...

    hibernate3.2中文文档(chm格式)

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 字符串模式匹配  17.2.4 逻辑运算  17.2.5 集合运算  17.3 小结  17.4 思考题 第18章 Hibernate的检索方式(下)  18.1 连接查询  18.1.1 ...

    Hibernate中文详细学习文档

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. ...

    Hibernate 中文 html 帮助文档

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. Session刷出...

    hibernate 教程

    条件查询(Criteria Query) 12.1. 创建一个Criteria实例 12.2. 缩小结果集范围 12.3. 对结果排序 12.4. 关联(Associations) 12.5. 动态关联对象获取(Dynamic association fetching) 12.6. ...

    hibernate 体系结构与配置 参考文档(html)

    15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合(aggregation)和分组...

    Hibernate教程

    11.4.3. 条件查询(Criteria queries) 11.4.4. 使用原生SQL的查询 11.5. 修改持久对象 11.6. 修改脱管(Detached)对象 11.7. 自动状态检测 11.8. 删除持久对象 11.9. 在两个不同数据库间复制对象 11.10. Session...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 字符串模式匹配  17.2.4 逻辑运算  17.2.5 集合运算  17.3 小结  17.4 思考题 第18章 Hibernate的检索方式(下)  18.1 连接查询  18.1.1 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 字符串模式匹配  17.2.4 逻辑运算  17.2.5 集合运算  17.3 小结  17.4 思考题 第18章 Hibernate的检索方式(下)  18.1 连接查询  18.1.1 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 字符串模式匹配  17.2.4 逻辑运算  17.2.5 集合运算  17.3 小结  17.4 思考题 第18章 Hibernate的检索方式(下)  18.1 连接查询  18.1.1 ...

    第24次课-1 Spring与Hibernate的整合

    List find(String queryString):根据HQL查询字符串来返回实例集合 List findByNamedQuery(String queryName):根据命名查询返回实例集合 Object get(Class entityClass, Serializable id):根据主键加载特定持久化...

Global site tag (gtag.js) - Google Analytics