hibernate方言?

h6my8fg2  于 2021-06-15  发布在  Mysql
关注(0)|答案(8)|浏览(381)

MySQL8有hibernate方言吗?或者我应该使用hibernate附带的org.hibernate.dialect.mysql57方言吗?我正在使用Hibernate5.2.16

oymdgrw7

oymdgrw71#

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.dialect.storage_engine=innodb

从这里得到的

46scxncf

46scxncf2#

翻看MySQL8的发行说明,MySQL8.x一直在开发中,从2018-04-19(不到一个月前)开始才面向ga发布,所以我怀疑是否有专门为它制作的方言。
您可以在这里看到所有hibernate方言的列表,并且正如您所看到的,没有mysql 8方言。 MySQLDialect 应仅用于MySQL5及更早版本 MySQL57Dialect 现在应该用于MySQL5.x和8.x。

vaj7vani

vaj7vani3#

是的,mysql8的mysql8方言。就我而言,我用过 mysql8dialect for mysql 8在我的spring启动应用程序中 方式:

spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
0sgqnhkj

0sgqnhkj4#

我知道这个问题已经提了几个星期了,但为了完整起见,hibernate5.3似乎有一个mysql8方言
https://docs.jboss.org/hibernate/orm/5.3/javadocs/org/hibernate/dialect/package-summary.html
我没有使用它,所以我不能评论它的质量,但支持似乎在那里。

zf2sa74q

zf2sa74q5#

mysql8dialect(org.hibernate.dialect.mysql8dialect)在hibernate bundle 5.3.1.final中提供。你可以用这个。

lhcgjxsq

lhcgjxsq6#

我在安装mysql 8服务器时遇到了类似的查询,并尝试使用spring启动应用程序与之交互。
但我做不到。
当我探索mysql5dialect类的源代码时,它的文档清楚地提到,这个dialect类专门用于mysql5.x版本。
我不确定它是否支持mysql 8.x版本。
因此,我建议使用mysql 5.x,直到hibernate发布官方方言。

watbbzwu

watbbzwu7#

是的,对于mysql8,使用 org.hibernate.dialect.MySQL8Dialect

zpqajqem

zpqajqem8#

如果您正在使用gradle(例如,对于grails),只需配置:
应用中.yml

dataSource:
...
    driverClassName: com.mysql.cj.jdbc.Driver
    dialect: org.hibernate.dialect.MySQL8Dialect
....

内部版本.gradle

dependencies {
    ...
    runtime 'mysql:mysql-connector-java:8.0.17'
    ...

注意mysql连接器版本和未弃用的驱动程序类名

相关问题