1、問題:mysql
hibernate自動建表的編碼應該是數據默認的編碼格式,通常也不是utf-8。因此想要建表默認的編碼是UTF-8,應該怎麼作呢?spring
2、解決方法:sql
拿mysql舉例:數據庫
(一)、修改hibernate建表的方言ide
一、通常狀況咱們使用的mysql方言爲:org.hibernate.dialect.MySQL5Dialect編碼
默認返回的是url
二、重寫MySQL5InnoDBDialect類,覆蓋getTableTypeString方法spa
三、方言配置使用咱們重寫的類,配置以下:hibernate
(1)Jpa數據庫鏈接配置:code
把默認的配置
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
修改爲
<property name="hibernate.dialect" value="com.lqy.spring.hibernate.mysql.MySQL5DialectUTF8" />
(2)spring整合hibernate配置:
<prop key="hibernate.dialect">com.lqy.spring.hibernate.mysql.MySQL5DialectUTF8</prop>
四、修改數據鏈接Url
jdbc.url=jdbc:mysql://192.168.1.11:3306/db?useUnicode=true&characterEncoding=UTF-8