`

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);
			

 

分享到:
评论

相关推荐

    hibernate 查询?Hibernate的HQL查询

    【标题】:深入理解Hibernate的查询机制:HQL查询 【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生...

    Hibernate hql查询语法总结

    注意,执行`from Student, Course`这样的HQL会返回两个对象的笛卡尔积,而非简单的联合查询,通常在实际应用中很少使用。 3. 属性查询: HQL支持查询单个或多个属性。例如,查询所有学生的姓名和年龄: ```java // ...

    hibernate的HQL的模糊查询

    - 使用HQL模糊查询时,注意防止SQL注入,确保传入的参数是安全的。 - 大量的模糊查询可能导致性能问题,应合理设计索引并优化查询。 - 在处理大量数据时,考虑分页查询以提高效率。 综上所述,Hibernate的HQL模糊...

    Hibernate注解方式、HQL查询

    2. **条件查询**:HQL支持WHERE子句,可以进行条件查询。如查找名字为"John"的用户: ```java hql = "from User where name='John'"; users = session.createQuery(hql).list(); ``` 3. **排序与分页**:使用`ORDER...

    Hibernate连表查询 Hibernate连表查询

    这里使用了HQL(Hibernate Query Language)来执行查询。例如,在`getProductsMenuSub`方法中,通过以下HQL语句实现了连表查询: ```java String queryString = "select a.productsName from TopProducts as a, ...

    Hibernate-HQL.rar_HQL_hibernate hql

    在Hibernate中,通过Session对象的createQuery或createSQLQuery方法创建HQL查询,然后调用list、uniqueResult、scroll等方法执行查询。执行过程中,Hibernate会自动进行类型转换和结果集的封装,极大地降低了开发...

    Hibernate HQL查询 分页查询 模糊查询.docx

    HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得开发人员能够更加专注于业务逻辑而不用深入到SQL层面。HQL支持各种复杂的查询,...

    hibernateHQL基本查询

    条件查询 如果想要查询书名中包含 “c#” 的所有书籍,可以使用如下 HQL 语句: ```java String hql = "select b.title, b.price from Books b where b.title like '%c#%'"; Query query = session.createQuery...

    HQL是hibernate自己的一套查询

    与传统的SQL语言不同,HQL更加注重于面向对象的特性,它支持Java类名和属性名作为查询条件,使得开发者可以直接使用Java对象模型来编写查询语句,而不需要了解底层数据库的具体表结构。HQL的这种特性大大提高了代码...

    Hibernate在查询条件中创建List集合

    在这里,`orderIdsList`是一个包含我们要查询的订单ID的List,通过`setParameterList`方法,我们可以将这个List作为查询条件传递给HQL,然后得到匹配条件的用户列表。 除了HQL,Criteria API也是Hibernate提供的另...

    Hibernate-HQL语句多对多写法

    在这种情况下,我们需要使用 Hibernate 的 HQL 语言来编写查询语句,以便检索和操作数据。 在这个例子中,我们有三个实体类:Menu、Privilege 和中间表 menu_privilege。Menu 实体类中有一个 privileges 列表字段,...

    Hibernate 课件_HQL

    ### Hibernate 课件_HQL 知识点解析 #### HQL查询 ...这些知识点涵盖了HQL的基本概念、查询方法、各种高级查询技巧以及Session的管理等方面,希望能够帮助大家更好地理解和掌握Hibernate的HQL查询技术。

    hibernate_hql.rar_HQL

    HQL支持多种条件查询,包括等于、不等于、大于、小于等操作符。如查询所有年龄大于20岁的用户: ```java String hql = "from User where age &gt; 20"; ``` 同时,HQL还支持like、in、between等特殊查询条件。 三、HQL...

    Hibernate教程(数据查询)HQL,PDF格式

    无论是基本的全表扫描还是复杂的条件查询,HQL都能够提供一种面向对象的解决方案,从而提高开发效率和代码可读性。 #### 扩展阅读 为了更深入地学习Hibernate和HQL,建议阅读以下资源: - Hibernate官方文档:...

    Hibernate HQL查询.docx

    ### Hibernate HQL 查询详解 #### 一、HQL 概述 Hibernate 提供了一种非常强大的查询语言——HQL(Hibernate Query Language),它在语法上与 SQL 类似但功能更为强大,因为它支持面向对象的特性,例如继承、多态性...

    Hibernate实例开发 HQL 与 QBC 查询

    本教程将深入探讨Hibernate中的两种查询方式:HQL(Hibernate Query Language)和QBC(Query By Example)。通过实例开发,我们将了解这两种查询方法的使用和它们之间的差异。 首先,HQL是Hibernate专门设计的一种...

    hibernate的HQL的jar

    使用Hibernate和HQL进行开发时,有以下几点需要注意: 1. **配置**:必须在Hibernate配置文件(通常是hibernate.cfg.xml)中指定数据库连接参数,包括URL、用户名、密码等。 2. **映射文件**:每个Java实体类都需要...

    hibernate-HQL用例

    HQL允许在查询语句中嵌套查询,这对于复杂条件的筛选非常有用。如找出年龄大于所有用户平均年龄的用户: ```sql SELECT u FROM User u WHERE u.age &gt; (SELECT AVG(age) FROM User) ``` 6. **参数绑定** HQL...

Global site tag (gtag.js) - Google Analytics