Hql传中文参数出现乱码(同sql传中…

可以在spring配置文件中配置:

 

[html] view plain copy print ?
  1. <property name="hibernateProperties">  
  2.     <props>  
  3.         <prop key="hibernate.dialect">${hibernate.dialect}prop>  
  4.         <prop key="hibernate.show_sql">${hibernate.show_sql}prop>  
  5.         <prop key="connection.autocommit">falseprop>  
  6.         org.hibernate.hql.classic.ClassicQueryTranslatorFactory

    可以在hibernate.cfg.xml中配置:

     

    [html] view plain copy print ?
    1. <property name="hibernate.query.factory_class">  
    2.       org.hibernate.hql.classic.ClassicQueryTranslatorFactory  
    3. property>  
     


    或者在写HQL的时候不吧中文参数拼凑进去,用query的setXxx。

     

      setProperties()方法

      个人觉得这个跟ORM技术的ibatis中的SQLMAP有些许相似。它是用setProperties()方法。如:

    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样): String hql  =   " from Customer user where 1=1 and userr.mc like :sna " ;
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):Customer cus 
    =   new  Customer();
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):cus.setMc(
    " 惠止南国 " );
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):Session session 
    =  getHibernateTemplate().getSessionFactory().openSession();
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):Transaction tx 
    =  session.beginTransaction();
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):List returnList 
    =  session.createQuery(sql).setProperties(cus).list();
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):tx.commit();
    Hql传中文参数出现乱码(同sql传中文参数出现乱码一样):session.close();

你可能感兴趣的:(hibernate)