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

Pourquoi est-ce que je reçois une 'MySQLSyntaxErrorException' avec le message 'Vous avez une erreur dans votre syntaxe SQL...' lors de la création d'une table avec Hibernate ?

Susan Sarandon
Libérer: 2024-11-21 06:50:13
original
377 Les gens l'ont consulté

Why am I getting a

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

Problème :

Lors de la création d'une table avec Hibernate, une "MySQLSyntaxErrorException" est rencontrée avec le message "Vous vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MariaDB pour connaître la bonne syntaxe à utiliser près de 'type = MyISAM' à la ligne 1."

Cause :

Le fragment obsolète "TYPE=MYISAM" est généré dans l'instruction DDL par le dialecte Hibernate configuré. Ce fragment n'est pas pris en charge dans MySQL 5.5 et versions ultérieures ni dans MariaDB.

Solution :

Pour résoudre ce problème, vous devez configurer un dialecte Hibernate approprié qui s'aligne avec la version de votre serveur de base de données.

Pour MariaDB, en fonction de votre version et de celle d'Hibernate, utilisez l'un des éléments suivants dialectes :

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

Pour MySQL, ou si le Les dialectes MariaDB ne sont pas disponibles dans votre version Hibernate, utilisez l'un de ces dialectes (ou variantes):

  • org.hibernate.dialect.MySQL5Dialect
  • org.hibernate.dialect.MySQL55Dialect
  • org.hibernate.dialect.MySQ L57Dialect
  • org.hibernate.dialect.MySQL8Dialect
  • org.hibernate.dialect.MySQL57InnoDBDialect

Remarque :

Avec Hibernate 6, vous pouvez revenir à MySQLDialect ou MariaDBDialect, car ces dialectes se configureront automatiquement en fonction de la version de la base de données 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