"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi est-ce que je reçois une erreur de syntaxe \ "type = myisam \" dans Hibernate DDL?

Pourquoi est-ce que je reçois une erreur de syntaxe \ "type = myisam \" dans Hibernate DDL?

Publié le 2025-03-25
Parcourir:422

Why Am I Getting a \

Erreur de syntaxe non valide "type = myisam" dans ddl généré par hibernate

la "Vous avez une erreur dans votre syntax SQL; 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" dans SQL est utilisé pour spécifier le moteur de stockage pour une table. Dans MySQL 4.x et plus tôt, il était courant d'utiliser "type = myisam". Cependant, cet attribut a été déprécié dans MySQL 4.0 et supprimé dans 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:

    • org.hibernate.dialect.mariadbdialect (pour MariaDb 10.0 et. plus tôt)
    • org.hibernate.dialect.mariaDB53Dialect (pour mariadb 10.1 et ultérieurement)
    • org.hibernate.dialect.mariaDB106dialect (pour mariaDB 10.6 et plus tard)
  • mysql:

    • org.hibernate.dialect.mysql5dialect (pour mysql 5.0 et plus tard)
    • org.hibernate.dialect.mysql55dialect (pour mysql 5.5 et ultérieurement)
    • org.hibernate.dialect.mysql57dialect (pour mysql 5.7 et ultérieure Mysql 8.0 et ultérieurement)
beispiel

Dans votre fichier de configuration hibernate, vous pouvez spécifier le dialect correct comme suit:

org.hibernate.dialect.mariaDBdialect propriété>

org.hibernate.dialect.MariaDBDialect
hinweis

avec Hibernate 6, vous devriez utiliser MySqldialect ou MariAdBDialect, comme ces dialects Configureront automatiquement les disciples de DataBase ou de MariAdBDialect, comme dialect version.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3