在模糊查询时,如果使用到了的条件包括"_",在查询时,需要使用到转义字符对"_"进行转义,具体详细看下列代码:
name=name.replaceAll("\\_", "\\\\\\\\_");
final String _name = name;
List<Integer> cuIdList = super.getHibernateTemplate().execute(new HibernateCallback<List<Integer>>() {
@SuppressWarnings("unchecked")
@Override
public List<Integer> doInHibernate(Session session) throws HibernateException, SQLException {
StringBuffer sql = new StringBuffer(200);
sql.append("select ")
.append("c.id")
.append(" from s c ")
.append("where c.control_unit_id in(:controlUnitId)")
.append(" and c.name like '%")
.append(_name)
.append("%' ESCAPE '\\\\'");
SQLQuery query = session.createSQLQuery(sql.toString());
query.setParameterList("controlUnitId", unitIdWithPrivilege);
return query.list();
}
});
分享到:
相关推荐
在IT行业中,ORM(Object-Relational Mapping)框架如Hibernate被广泛用于简化Java...在提供的`SplitPage`文件中,可能包含了具体的实现细节和示例代码,进一步学习这些内容将加深你对Hibernate模糊查询和分页的理解。
### Hibernate-Criteria 模糊查询详解 #### 一、引言 在软件开发过程中,数据库查询操作是非常常见的需求之一。Hibernate作为一款优秀的Java持久层框架,提供了多种方式来进行数据库操作,其中包括HQL(Hibernate ...
下面我们将深入探讨Hibernate的HQL模糊查询及其应用。 一、HQL概述 HQL是一种面向对象的查询语言,它的语法结构与SQL类似,但更关注于对象和实体,而不是数据库表和列。HQL允许开发者直接操作Java对象,避免了直接...
Criteria API基于面向对象的方式进行查询构建,可以动态地添加各种查询条件,包括等值比较、范围查询、模糊查询等,使得查询操作更加直观和易于管理。 ### 模糊查询的意义 模糊查询是数据库操作中常见的一种需求,...
HQL支持各种复杂的查询,包括但不限于分页查询、模糊查询等。 #### 二、HQL基本查询 在给定的代码示例中,展示了如何进行简单的HQL查询。例如: ```java final String hql = "from User as u where u.name = :...
### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。Hibernate作为一款流行的Java持久层框架,提供了一种非常便捷的方式来处理...
### Struts 1.2与Hibernate 3结合实现分页模糊查询 在Web开发领域,Struts框架一直是MVC(Model-View-Controller)架构模式的一个典型代表,它可以帮助开发者更高效地构建出结构清晰、易于维护的应用程序。而...
本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...
Hibernate 支持多种方式来实现多表连接查询,包括 HQL(Hibernate Query Language)和 Criteria 查询。本项目主要关注 Criteria API 的使用,这是一种基于 Java 对象的查询方式,更加灵活且易于理解和维护。 **...
"源码"标签表明博客可能包含了与Hibernate源代码相关的讨论,可能包括自定义查询、实体类设计或者对Hibernate内部工作原理的洞察。 "工具"标签则表示内容将围绕使用Hibernate这一开发工具,如何在项目中有效地集成...
这里的`User`是实体类,`username`是字段名,`%`符号用于匹配任意字符,使得查询结果包括包含关键词的所有记录。 接下来,我们讨论分页功能。在Web应用中,大量数据的展示往往需要分页处理,以提高用户体验和性能。...
在Hibernate中,你可以使用HQL(Hibernate Query Language)或Criteria API来构造模糊查询。例如,使用`%`通配符进行模糊匹配。 5. **Action与Service层交互**: 在Action中调用Service层的方法,传递用户输入的搜索...
Hibernate 提供了多种查询方式,包括 HQL(Hibernate Query Language)、QBC(Query By Criteria)和 JPA(Java Persistence API)的 Criteria API。这些查询语言提供了面向对象的方式来检索数据,比传统的 SQL 更加...
在使用Hibernate进行查询前,首先需要进行基本的配置,包括创建hibernate.cfg.xml配置文件,设置数据库连接信息,以及实体类和表的映射文件(.hbm.xml)。 三、Entity类与表的映射 在Hibernate中,每一个数据库表都...
在方法内部,首先初始化HQL(Hibernate查询语言)为一个基础的查询语句,然后遍历Map,将每个查询条件(键值对的键表示字段,值表示模糊查询的值)拼接到HQL中。这里使用了“%”通配符进行模糊匹配,例如`key like '...
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
【hibernate查询详解】 Hibernate,作为一款强大的Java对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者使用面向对象的方式来处理数据库,从而避免了传统的JDBC编码方式带来的复杂性。本篇文章将...