编码问题
如果hibernate保存的中文数据是???乱码。那么就有以下几种可能原因。
1、数据库本身的编码问题。比如mysql中你的数据库是不是utf-8
更改数据库编码:
mysql>alter database mydb character set utf8;
2、hibernate.cfg.xml中设置编码的问题。
可以在hibernate.cfg.xml中设置编码
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf-8
</property>
或者是:
<property name="hibernate.connection.url">
<![CDATA[
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf-8
]]>
</property>
总之,要注意前-中-后所有地方的编码是不是一致的。