Hibernate HQL like 语句的用法

原创 2011年01月18日 14:25:00

String str = "中文字符串";
String hql = "FROM Table AS t WHERE t.field like '%" + str + "%'";

Query query = getSession().createQuery(hql);
query.list();

使用这种形式传入参数str, 会导致控制台输出:
FROM Table AS t WHERE t.field like '% ????%' 
之类的乱码, 从而在数据库找不到匹配记录.

据说这是hibernate3.0 like子句处理中文的一个问题, 3.1已得到修正。3.0版可以通过设置参数解决。改正如下:

String str = "中文字符串";
String hql = "FROM Table AS t WHERE t.field LIKE :param";
Query query = getSession().createQuery(hql);
query.setString("param", "%" + str + "%");
query.list();

一定要注意传进来的字符串变量是否现实乱码,如为乱码则永远查不到。

hibernate的like用法(用占位符解决)

http://blog.sina.com.cn/s/blog_4baadb1f01009k5u.html
  • u012307002
  • u012307002
  • 2014年02月16日 16:25
  • 4645

hibernate中的like用法

原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a "                     ...
  • chainli
  • chainli
  • 2004年12月06日 19:42
  • 2896

Hibernate3的Like用法,解决中文查询问题

原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a "                     ...
  • michael200801
  • michael200801
  • 2007年12月08日 11:34
  • 1040

Hibernate like 使用

String hql = "from User as user where user.name like ";     Query query=querysession.createQuery(hql...
  • jsship
  • jsship
  • 2011年01月17日 20:10
  • 11926

Hibernate HQL like 语句的用法

String str = "中文字符串"; String hql = "FROM Table AS t WHERE t.field like '%" + str + "%'"; Query q...
  • yangfanend
  • yangfanend
  • 2011年05月11日 11:05
  • 8607

hibernate查询绑定like类型的参数

在使用hql查询时,如果语句中有like,query绑定参数的形式为:q.setParameter("%param%");不需要加单引号,将两个百分号包围起来。 如果是sql查询则需要用两个单引号将...
  • Dzq_Boyka
  • Dzq_Boyka
  • 2017年01月05日 11:55
  • 643

Hibernate模糊查询三种方式

今天的项目中在用Hibernate3.0进行模糊查询的时候,出现中文乱码,在网上查了好久资料,终于解决了,现在把整理后的贴出来。 Hibernate中实现模糊查询,可有以下三种方式:...
  • xcwll314
  • xcwll314
  • 2014年04月27日 21:51
  • 2844

HQL实现模糊查询两种传参方式

其实各个方法的实质都是一样的,只不过传递参数的方法稍微有点区别  第一种:  public List getUsers(String id){ List list=new ArrayList...
  • csdn_wyl
  • csdn_wyl
  • 2015年11月22日 15:23
  • 7044

HQL中的Like查询需要注意的地方及详细示例 .

public List getOrgan(String organCode, String organName) {       String hsql;      List list;...
  • wenzhihui_2010
  • wenzhihui_2010
  • 2013年07月25日 15:53
  • 2752

Hibernate实现模糊查询的方法

大家都知道使用本地SQL进行模糊查询用关键字 LIKE 对于在Hibernate里怎么实现呢? 一、绑定参数法: Sql代码 Session session=...
  • jianhuili
  • jianhuili
  • 2012年05月22日 13:17
  • 13081
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate HQL like 语句的用法
举报原因:
原因补充:

(最多只允许输入30个字)