タスクを保存するために MySQL と ebeans を使用しようとしています。スクリプトを適用すると、次のエラーが発生します。
[PersistenceException: ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]
MySQLをDBとして使用する前は、メモリ内のH2 DBとファイルシステムで問題なく動作していました...
このエラーを解決するにはどうすればよいですか?
タスクを保存するために MySQL と ebeans を使用しようとしています。スクリプトを適用すると、次のエラーが発生します。
[PersistenceException: ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]
MySQLをDBとして使用する前は、メモリ内のH2 DBとファイルシステムで問題なく動作していました...
このエラーを解決するにはどうすればよいですか?
同じエラーが発生しました。id フィールドに AUTO_INCREMENT を追加し、進化スクリプトの制約を追加します。このように
create table name (
id bigint not null AUTO_INCREMENT,
...
constraint pk_name primary key (id),
);
今それは動作します
編集: モデルのフィールド 'id' に @Id で注釈を付ける場合、進化は自動的に AUTO_INCREMENT と制約を追加する必要があります
このエラーが発生しました。私の場合、アプリをセットアップする以前の作業の一環として、データベースは既に存在しますが、テーブルの半分には id フィールドに AI が設定されていましたが、残りの半分にはありませんでした。
なぜそうなったのかはわかりませんが、最初にテーブルを作成した方法に関係しています。
とにかく、MySQL Workbench を使用して、AI ID を持たないテーブルを変更し、AI プロパティを追加するだけで済みました。(このプロセスの一環として、いくつかの外部キーも削除して再作成する必要がありました)。