Existe-t-il un dialecte Hibernate pour MySQL 8? Ou devrais-je utiliser le org.hibernate.dialect.MySQL57Dialect fourni avec Hibernate? J'utilise Hibernate 5.2.16
MySQL8Dialect (org.hibernate.dialect.MySQL8Dialect) est disponible dans le paquet hibernate 5.3.1.Final. vous pouvez l'utiliser.
oui, pour MySQL8, utilisez org.hibernate.dialect.MySQL8Dialect
Je sais que cette question date de quelques semaines, mais pour être complet, il semble qu'Hibernate 5.3 ait un dialecte MySQL8
https://docs.jboss.org/hibernate/orm/5.3/javadocs/org/hibernate/dialect/package-summary.html
Je ne l'ai pas utilisé, je ne peux donc pas en parler, mais le support semble être là.
Si vous utilisez Gradle (par exemple pour Grails), configurez simplement:
dans application.yml
dataSource:
...
driverClassName: com.mysql.cj.jdbc.Driver
dialect: org.hibernate.dialect.MySQL8Dialect
....
dans build.gradle
dependencies {
...
runtime 'mysql:mysql-connector-Java:8.0.17'
...
Faites attention à la version de mysql-connector et au nom de la classe de pilote non obsolète
En regardant Notes de publication de MySQL 8 , MySQL 8.x est en développement et n'est disponible que depuis GA depuis le 2018-04-19 (moins d'un mois). donc je doute qu’il existe déjà un dialecte spécialement conçu à cet effet.
Vous pouvez voir une liste de tous les dialectes en veille prolongée ici , et comme vous pouvez le constater, il n’existe pas de dialecte MySQL 8.
MySQLDialect
ne devrait être utilisé que pour MySQL 5 et les versions antérieures, alors que MySQL57Dialect
devrait être utilisé pour MySQL 5.x et 8.x pour le moment.
J'avais la même requête en installant MySQL 8 Server et en essayant d'interagir avec la même chose en utilisant mon application Spring Boot.
Mais j'étais incapable de le faire.
Lorsque j'ai exploré le code source de la classe MySQL5Dialect, sa documentation indique clairement que cette classe de dialecte a été dédiée aux versions de MySQL 5.X.
Je ne sais pas s'il prend en charge les versions de MySQL 8.X.
Ainsi, je suggérerais d’utiliser MySQL 5.X jusqu’à la publication d’un dialecte officiel avec Hibernate.