Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat ralat sintaks 'type=MyISAM' dalam DDL yang dijana Hibernate?
Ralat Sintaks Tidak Sah "type=MyISAM" dalam DDL Hibernate-Generated
Dalam kod Java, pengguna mungkin menghadapi ralat sintaks berikut:
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
Ralat ini timbul apabila Hibernate menjana pertanyaan penciptaan jadual yang merangkumi serpihan "jenis = MyISAM." Walau bagaimanapun, sintaks ini ditamatkan dalam MySQL 4.0 dan dialih keluar dalam 5.5.
Konfigurasi Dialek
Masalahnya berpunca daripada penggunaan dialek org.hibernate.dialect.MySQLDialect , iaitu untuk MySQL 4.x atau lebih awal. Untuk MariaDB, adalah disyorkan untuk menggunakan salah satu daripada dialek berikut, bergantung pada versi MariaDB dan Hibernate:
Untuk MySQL, atau jika dialek MariaDB tidak tersedia, pertimbangkan untuk menggunakan:
Hibernate 6 Dialects
Dengan Hibernate 6, pengguna harus menukar kembali 6 untuk menggunakan MySQLDialect atau MariaDBDialect kerana dialek ini akan mengkonfigurasi dirinya sendiri berdasarkan versi sambungan sebenar.Atas ialah kandungan terperinci Mengapa saya mendapat ralat sintaks 'type=MyISAM' dalam DDL yang dijana Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!