我正在用 Play 开发一个网络应用程序!框架(1.2.4)。我已成功导入 CRUD 模块,并将 MySQL 数据库与 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 数据库中,我有一个名为 MyEntity 的表,其中包含 5 个字段:
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.
对此有任何想法吗?