Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi est-ce que j'obtiens l'erreur de syntaxe « type=MyISAM » dans le DDL généré par Hibernate ?

Mary-Kate Olsen
Libérer: 2024-11-15 07:16:02
original
307 Les gens l'ont consulté

Why am I getting the

Erreur de syntaxe non valide "type=MyISAM" dans le DDL généré par Hibernate

Dans le code Java, les utilisateurs peuvent rencontrer l'erreur de syntaxe suivante :

Caused by :`com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException`: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB' server version for the right syntax to use near 'type = `MyISAM`' at line 1
Copier après la connexion

Cette erreur se produit lorsque Hibernate génère une requête de création de table qui inclut le fragment « type = MyISAM ». Cependant, cette syntaxe est obsolète dans MySQL 4.0 et supprimée dans 5.5.

Configuration du dialecte

Le problème vient de l'utilisation du dialecte org.hibernate.dialect.MySQLDialect , qui concerne MySQL 4.x ou version antérieure. Pour MariaDB, il est recommandé d'utiliser l'un des dialectes suivants, selon les versions de MariaDB et Hibernate :

  • org.hibernate.dialect.MariaDBDialect
  • org.hibernate.dialect .MariaDB53Dialect
  • org.hibernate.dialect.MariaDB106Dialect (ou supérieur)

Pour MySQL, ou si les dialectes MariaDB ne sont pas disponibles, pensez à utiliser :

  • org.hibernate.dialect.MySQL5Dialect
  • org.hibernate.dialect.MySQL55Dialect
  • org.hibernate.dialect.MySQL57Dialect
  • org.hibernate.dialect.MySQL8Dialect
  • Variantes de ces dialectes (par exemple, org.hibernate.dialect.MySQL57InnoDBDialect)

Dialectes Hibernate 6

Avec Hibernate 6, les utilisateurs doivent revenir en arrière à utiliser MySQLDialect ou MariaDBDialect car ces dialectes se configureront eux-mêmes en fonction de la version réellement connectée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal