Hibernate HQL like 语句的用法

来源:互联网 发布:新三板交易软件 编辑:程序博客网 时间:2024/06/05 09:54
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(); 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/forever8tf/archive/2011/01/18/6149673.aspx
原创粉丝点击