hibernate的三个默认方言:
org.hibernate.dialect.MySQLDialect
org.hibernate.dialect.MySQLInnoDBDialect
org.hibernate.dialect.MySQLMyISAMDialect
问题:
使用hibernate的三个默认方言+mysql8.0;数据库表不存在,使用hibernate创建表时发生错误(错误的建表语句)。
原因:
Mysql8.0建表语句不在支持type=“数据库引擎”的语句,而是使用engine=“数据库引擎”的语句,hibernate的默认方言建表使用的仍然是type,所以报错。
解决方法:
hibernate方言使用:
org.hibernate.dialect.MySQL5Dialect
org.hibernate.dialect.MySQL5InnoDBDialect
注意:MySQL5Dialect方言默认使用MyISAM引擎建表,MySQL5InnoDBDialect使用InnoDB引擎建表。(只有这两个)