今天拿别人的项目部署调试,出现如下问题
Java代码
org.hibernate.exception.SQLGrammarException: Cannot open connection
...
root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'
google吧,有说创建数据库就要指定字符集的
Java代码
CREATE DATABASE `test1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
也有说hibernate加编码的
Java代码
<property name="connection.url"> jdbc:mysql://localhost:3306/ssh_test</property>
或者
<property name="connection.characterEncoding">UTF8</property>
也有说mysql6 要新的mysql-connector-j-5.1.13版本才行的, 这都用到5.1.22都不行
最后把dialect由 org.hibernate.dialect.MySQLDialect 改成 org.hibernate.dialect.MySQL5InnoDBDialect 就ok
--转自