hibernate+mysql8.0的方言问题

hibernate的三个默认方言:

    org.hibernate.dialect.MySQLDialect

    org.hibernate.dialect.MySQLInnoDBDialect

    org.hibernate.dialect.MySQLMyISAMDialect

 

问题:

使用hibernate的三个默认方言+mysql8.0;数据库表不存在,使用hibernate创建表时发生错误(错误的建表语句)。

 

hibernate+mysql8.0的方言问题_第1张图片

 

原因:

Mysql8.0建表语句不在支持type=“数据库引擎”的语句,而是使用engine=“数据库引擎”的语句,hibernate的默认方言建表使用的仍然是type,所以报错。

 

解决方法:

   hibernate方言使用:

    org.hibernate.dialect.MySQL5Dialect

    org.hibernate.dialect.MySQL5InnoDBDialect

 

注意:MySQL5Dialect方言默认使用MyISAM引擎建表,MySQL5InnoDBDialect使用InnoDB引擎建表。(只有这两个)

你可能感兴趣的:(hibernate+mysql8.0的方言问题)