Ralat Sintaks Tidak Sah "type=MyISAM" dalam DDL Dijana oleh Hibernate
Ralat "Anda mempunyai ralat dalam sintaks SQL anda; semak manual yang sepadan dengan versi pelayan MariaDB anda untuk sintaks yang betul untuk digunakan berhampiran ralat 'type = MyISAM' pada baris 1" dalam DDL yang dijana oleh Hibernate biasanya berlaku disebabkan oleh penggunaan atribut "jenis" yang tidak digunakan lagi. Berikut ialah analisis dan penyelesaian:
Ursache
Atribut "jenis" dalam SQL digunakan untuk menentukan enjin storan untuk jadual. Dalam MySQL 4.x dan lebih awal, adalah perkara biasa untuk menggunakan "type=MyISAM". Walau bagaimanapun, atribut ini telah ditamatkan dalam MySQL 4.0 dan dialih keluar dalam 5.5.
Lösung
Untuk menyelesaikan isu ini, anda perlu menggunakan dialek yang betul dalam konfigurasi Hibernate anda. Bergantung pada versi MariaDB dan Hibernate anda, anda perlu menggunakan salah satu daripada dialek berikut:
MariaDB:
MySQL:
Beispiel
Dalam fail konfigurasi Hibernate anda, anda boleh menentukan dialek yang betul seperti berikut :
<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Hinweis
Dengan Hibernate 6, anda harus menggunakan MySQLDialect atau MariaDBDialect, kerana dialek ini akan mengkonfigurasi dirinya secara automatik berdasarkan versi pangkalan data yang disambungkan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Sintaks \'type=MyISAM\' dalam DDL Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!