什么是Hibernate方言?
Hibernate方言是用来告诉Hibernte如何对指定的数据库生成相应的SQL语句。
尽管做了很多尝试去使SQL语句标准化,但是不同的数据库支持的SQL语句还是有很多不同的地方。
所以Hibernate使用方言来辅助生成正确的SQL语句。
①MySQLDialect
②MySQL5Dialect
③MySQL55Dialect
④MySQL57Dialect
⑤MySQL8Dialect
⑥MySQLInnoDBDialect
⑦MySQLMyISAMDBDialect
MyISAMySQL引擎不支持外键,所有如果要映射的表里有外键的话,就会创建失败
这两个明白了,那其他的又有什么区别,再看:
一、MySQLDialect
MySQLDialect是MySQL5.X之前的版本,其默认的引擎是MyISAM。
二、MySQL5Dialect
它还是用的MySQLDialect的引擎,所以它依然不支持外键;
三、MySQL55Dialect
虽然它是继承的MySQL5Dialect,但是它的引擎已经改为innoDB了;而且它支持事务操作,;
剩下的 MySQL57Dialect 和 MySQL8Dialect 的还不太清楚,不敢乱发,有时间看下官方文档再解释,一般来说mysql5.x以上的用MySQL55Dialect就可以支持大多数常用操作了。