私は Play! で Web アプリを開発しています。フレームワーク (1.2.4)。CRUD モジュールを正常にインポートし、MySQL DB を JDBC に接続しました。次のようなモデルを作成しました。
@Entity
public class MyEntity extends Model {
@Id
@GeneratedValue (strategy=GenerationType.IDENTITY)
public int id;
public String name;
public String phone;
public String web;
public String address;
public MyEntity (String name, String phone, String web, String address) {
this.name=name;
this.phone=phone;
this.web=web;
this.address=address;
}
}
localhost:9000/admin
の管理 CRUD デフォルト パネルで、MyEntity の新しいオブジェクトを追加しようとしましたが、機能しません:
PersistenceException occured : org.hibernate.exception.GenericJDBCException: could not insert: [models.MyEntity]
LogFail: object.save() (around line 152)
私のMySQL DBには、5つのフィールドを持つ MyEntity というテーブルがあります。
id INT (PK, NotNull, AUTO_INCREMENT);
name VARCHAR;
phone INT;
web VARCHAR;
address VARCHAR
なぜ機能しないのかわかりません。JPA が自動生成された id フィールドを使用していることは知っていますが、自動生成された id が MyEntity id フィールドになることを望んでいます。
ログは言った:
[...]Caused by: java.sql.SQLException: Field 'id' doesn't have a default value.
これについて何か考えはありますか?