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
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 :
Pour MySQL, ou si les dialectes MariaDB ne sont pas disponibles, pensez à utiliser :
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!