Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur de syntaxe \'type=MyISAM\' dans Hibernate DDL ?
Erreur de syntaxe invalide "type=MyISAM" dans le DDL généré par Hibernate
Le message "Vous avez une erreur dans votre syntaxe SQL ; vérifiez 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", une erreur dans le DDL généré par Hibernate se produit généralement en raison d'une utilisation de l'attribut "type" obsolète. Voici une analyse et une solution :
Ursache
L'attribut "type" en SQL est utilisé pour spécifier le moteur de stockage d'une table. Dans MySQL 4.x et versions antérieures, il était courant d'utiliser "type=MyISAM". Cependant, cet attribut a été obsolète dans MySQL 4.0 et supprimé dans la version 5.5.
Lösung
Pour résoudre ce problème, vous devez utiliser le dialecte correct dans votre configuration Hibernate. Selon votre version de MariaDB et Hibernate, vous devez utiliser l'un des dialectes suivants :
MariaDB :
MySQL :
Beispiel
Dans votre fichier de configuration Hibernate, vous pouvez spécifier le dialecte correct comme suit :
<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Hinweis
Avec Hibernate 6 , vous devez utiliser MySQLDialect ou MariaDBDialect, car ces dialectes se configureront automatiquement en fonction de la base de données connectée version.
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!