web-dev-qa-db-fra.com

Le dialecte Hibernate pour MySQL 8?

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

16
unknow

MySQL8Dialect (org.hibernate.dialect.MySQL8Dialect) est disponible dans le paquet hibernate 5.3.1.Final. vous pouvez l'utiliser.

22
Vipin Purohit

oui, pour MySQL8, utilisez org.hibernate.dialect.MySQL8Dialect

7
duliu1990

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à.

3
MaxPower

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

1
Eugene Hoza

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.

0
TwiN

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.

0
Philip Dilip