在使用hibernate3过程中遇到了一个问题:自己利用hibernate的分页原理创建了一个分页组件Page,该组件只需传入相应的HQL组件、页码、页面大小,就可以返回一个包括记录集及其相关信息的bean类,但在实在处理的时候就出现的问题,比如在分好页的页面中进行查询用户名包含“管理员”的用户,组装后的Hql语句为:
String para=request.getParameter("username");
String hql=from UserList ul where ul.username like "'%"+para+"%'";
把该hql语句传入PageImp类的分页方法中处理,报错,检查日志文件,中文变为乱码,急,上网找答案,无果,继续找发现hibernate的hql不支持中文查询参数,汗!!!
想办法解决,我可不想改我写好的分页组件。既然h3不支持中文,那我就用h2的东东解析hql吧,试试吧
设置:
xml 代码
<prop key="hibernate.query.factory_class"></prop>
- <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
再运行,OK。颇有成就感!!:)