我正在使用Play开发一个webapp!框架(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.
对此有何想法?
答案 0 :(得分:0)
模型已有Id。
如果您想使用自己的Id,那么您应该扩展GenericModel。