1、org.hibernate.dialect.MySQL55Dialect
推荐使用这个配置,使用的mysql引擎为 InnoDB,自动创建表时,可以创建外键、事物等。
2、org.hibernate.dialect.MySQL5Dialect
对于数据库数据的增删查改都没有问题,就是当类的结构变化后需要DDL更新表结构时出错,提示使用的数据库引擎为engine=MyISAM,MyISAM 不支持外键等,所以报错。
3、org.hibernate.dialect.MySQL57Dialect
这个配置也可以,MySQL57Dialect从MySQL55Dialect继承的,增加了一些新特性,通过源码分析可以看出来MySQL57Dialect是针对mysql5.7.x的版本的,能看出来增加了对json列的支持,和一些时间函数。我实际用的是mysql5.6.x,所以只能用MySQL55Dialect方言
4、org.hibernate.dialect.MySQLInnoDBDialect
这个弃用了。
5、这里要说一个使用idea查看数据库方言的类层次结构方法
在配置文件中按住Ctrl点击具体方言名字,然后打开方言源码后,按F4查看当前类的层次结构,就可以看到有哪些方言可用,然后观察源码或者测试即可。
6、MySQL8Dialect方言,这个是支持mysql8.0的
关于技术细节可用参考下面两篇文章
MySQL存储引擎中的MyISAM和InnoDB区别详解
Hibernate的dialect 方言大全