Hibernate5.X mysql数据库方言方面的差异

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 方言大全

猜你喜欢

转载自blog.csdn.net/u011930054/article/details/88382245
今日推荐