在utf-8编码环境下,在hibernate.cfg.xml中的session-factory内添加如下代码设置:
<span style="font-size:18px;"><property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property></span>
或者指定在连接mysql数据库时需要使用的字符集
<property name="hibernate.connection.url">
<![CDATA[
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
]]>
</property>
该设置反向生成是没有的,需要手动添加,以配置一个简单的hbm.xml为例,配置文件代码为:
<span style="font-size:18px;"><?xml version='1.0' encoding='UTF-8'?>
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="connection.username">root</property>
<property name="connection.password">master</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">test</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="com/robin/po/Students.hbm.xml" />
</session-factory>
</hibernate-configuration></span>