hibernate自动建表时在hibernate配置文件中加入
<!-- 设置编码格式 -->
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
没有起作用 在url中加入?useUnicode=true&characterEncoding=utf8
并且重写下MySQL5InnoDBDialect,然后在配置文件中将方言指定成重写后的方言
package com.shzy.dialect;
import org.hibernate.dialect.MySQL5InnoDBDialect;
public class CustomerDialect extends MySQL5InnoDBDialect{
public String getTableTypeString() {
return " ENGINE=InnoDB DEFAULT CHARSET=utf8";
}
<!-- 配置方言 -->
<property name="hibernate.dialect">com.shzy.dialect.CustomerDialect</property>
重启项目 别忘了url后面加的?useUnicode=true&characterEncoding=utf8
测试成功!