锁定老帖子 主题:『类型』hibernate3不能查询中文?
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-02-16
如果你想写Hql查询中文,那么中文的参数必须以参数的形式提供给查询;
原因好像是:中文占位的高低为问题产生的。 反正以前遇到过,用参数的方法可以解决 |
|
返回顶楼 | |
发表时间:2006-05-06
真是在谢谢了,我也遇到了这样的问题,我等下试试,但看到大家都解决了,我想肯定没问题,太谢谢了!
|
|
返回顶楼 | |
发表时间:2006-05-07
我按dhj1的方法把hibernate3.0换成了hibernate3.1但问题还是没有解决.
别外我还有个疑问大家都说不要拼SQL或HQL,我知道拼是有安全隐患,但做好字符串关键字检查也可以保证安全啊,我不是想自圆其说,但我现在应用中的确要拼HQL才能完成功能.我简单描述一下:我提交一个查询页面时将要查询条件在action中拼写好,然后将HQL放入session中,然后在页面上显示时取出session中的HQL,最后显示查询结果.假如不用拼接的方法,那我这种应用该改成什么实现方式呢? |
|
返回顶楼 | |
发表时间:2006-06-08
大家说不能拼接SQL
我在页面上提交查询数据的时候,不能确定查询条件。 那么使用占位符? 就是件很困难的事了。请问大家是怎么去实现这步的。 例如: if( null!=a && !a.trim().equals("")){ StringBufferStr.append(" and ojbect.a like '%"+a+"%' " } 这样子的条件有多个。如果有实现的请回答 |
|
返回顶楼 | |
发表时间:2006-06-09
if( null!=a && !a.trim();.equals(""););{ StringBufferStr.append(" and ojbect.a like '%:para1%' " } 上边拼占位符,下边根据条件塞值 Query query = session.createQuery(StringBufferStr.toString(););; if( null!=a && !a.trim();.equals(""););{ query.setParameter("para1", new String(a););; } List yourlst = query.list();; |
|
返回顶楼 | |
发表时间:2006-06-15
hibernate的 Criteria 不就是干这事情的么?
|
|
返回顶楼 | |
发表时间:2006-06-15
见:http://forum.iteye.com/viewtopic.php?t=14496&highlight=DetachedCriteria
|
|
返回顶楼 | |
发表时间:2006-07-25
String hql = "from MSGBean where CHINESE like '%一%'";
Query q = session.createQuery(hql); 怎么改成用占位符的形式? 用getHibernate().find(...)好像不行啊 |
|
返回顶楼 | |