首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate HQL like 话语的用法

2012-08-25 
Hibernate HQL like 语句的用法Query query getSession().createQuery(hql)query.list()使用这种形式

Hibernate HQL like 语句的用法



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

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

热点排行