Java >> Java チュートリアル >  >> Tag >> Jdbc

GenerationTarget でコマンドを受け入れる例外が発生しました:JDBC ステートメントを介して DDL を実行中にエラーが発生しました

org.hibernate.dialect.MySQL5Dialect のような別の方言を試す必要があります または org.hibernate.dialect.MySQLMyISAMDialect または org.hibernate.dialect.MySQLInnoDBDialect どちらがあなたに適しているかを確認してください。

全体として、現在の方言は type=MyISAM を生成しています ENGINE=MyISAM である必要がありますが、 テーブルクエリの作成で。

mysql エラー 'TYPE=MyISAM'

こちらもお読みください , データ ソースの SQL 方言を構成する必要があるのはなぜですか?

あなたのログは、このクエリが実行されようとしたことを示しています create table MyTable (id integer not null, name varchar(255), primary key (id)) type=MyISAM したがって、そのクエリを mysql コマンド プロンプトで直接実行して、それが MySQL バージョンで機能するかどうかを確認する必要があります。

また、問題として、MySQL のバージョンも指定してください。

役に立てば幸いです!!


MySQL の更新版を使用しています しかし、使用して古い dialect

どちらかを使用してください

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

または

<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>

hibernate.cfg.xml で ファイル。

これにより、dialect を取得できなくなります 問題。


このエラーに直面している理由は、以下の理由のいずれかである可能性があります:-

  • DB スクリプトとモデル/エンティティ クラスの列名が異なります。
  • プロパティ値について言及しているときに、構成ファイルにスペルミスがあります。
  • MySQL のバージョンが、あなたが言及している方言と一致していません。

DATABASE SCRIPT で列名を変更したが、Model/Entity クラスで変更するのを忘れたため、このエラーに直面していました。それで、4 時間髪を引っ張った後、単純にこれを実行すると、アプリケーションが実行され始めました。


Java タグ