hibernate提示表不存在和中文乱码

2016-12-30 13:46

配置hibernate的时候,如果所有配置都对了但是提示表不存在,则可能是方言不对:

mysql5.0之后的版本的方言应该是

org.hibernate.dialect.MySQL5InnoDBDialect

而不是

org.hibernate.dialect.MySQLInnoDBDialect

另外,如果插入中文乱码,可以在数据库的url之后指定编码

jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf8

如果直接在xml文件中配置,应该防止非法字符&,否则报错,可如下配置

<![CDATA[jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf8]]>