Hibernate 自动建表时报编码错误:
Caused by: java.sql.SQLException: Incorrect string value: '\...' for column 'cust_name' at row 1
一般情况我们使用的mysql方言为:org.hibernate.dialect.MySQL5Dialect,默认返回为
@Override public String getTableTypeString() { return " ENGINE=InnoDB"; }
重写此方法
package com.hb.utf8;import org.hibernate.dialect.MySQL5InnoDBDialect;public class MySQL5DialectUTF8 extends MySQL5InnoDBDialect { @Override public String getTableTypeString() { return " ENGINE=InnoDB DEFAULT CHARSET=utf8"; }}
修改核心配置文件为
com.hb.utf8.MySQL5DialectUTF8
数据库添加 characterEncoding=utf8
jdbc:mysql:///mydatabase?characterEncoding=utf8