Hibernate HQL like 语句的用法
String str = "中文字符串"; Stringhql="FROMTableAStWHEREt.fieldlike'%"+str+"%'"; Queryquery=getSession().createQuery(hql); query.list(); 使用这种形式传入参数str,会导致控制台输出: FROMTableAStWHEREt.fieldlike'%????%' 之类的乱码,从而在数据库找不到匹配记录. 据说这是hibernate3.0like子句处理中文的一个问题,3.1已得到修正。3.0版可以通过设置参数解决。改正如下: Stringstr="中文字符串"; Stringhql="FROMTableAStWHEREt.fieldLIKE:param"; Queryquery=getSession().createQuery(hql); query.setString("param","%"+str+"%"); query.list(); 一定要注意传进来的字符串变量是否现实乱码,如为乱码则永远查不到。 |
相关推荐
LetonLIU 2020-03-28
tugangkai 2020-07-04
taisenki 2020-06-02
zzjmay 2020-05-17
shuiluobu 2020-03-20
solarspot 2014-06-27
LetonLIU 2019-12-23
东方咖啡屋 2019-12-08
浮生 2011-12-12
surpassdream 2011-12-11
keruis 2015-02-03
小黄鸡kimhuhg 2015-02-16
Lingforme 2015-07-23
bigcactus 2012-05-21
张浩BIT 2012-04-22
虽然我很菜 2016-01-08
WJI 2014-11-06
kobexing 2014-07-16
crazzylp 2014-01-08