Posted on 2006-04-24 15:19
Kevin Meng 阅读(250)
评论(0) 编辑 收藏
在Hibernate 3中,如果HQL语句中有中文,Hibernate生成的SQL语句将会有乱码。例如HQL语句"from Churukou as c where c.name='阿蒙'",在控制台中打出的语句为:Hibernate: select churukou0_.OBJECTID as OBJECTID, churukou0_.NAME as NAME0_ from SDE.CHURUKOU churukou0_ where churukou0_.NAME='???è'
解决办法是在hibernate的设置文件hibernate.cfg.xml的</session-factory>中加入这么一行:
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>