CRUD 模块 玩! 1.2.4
Posted
技术标签:
【中文标题】CRUD 模块 玩! 1.2.4【英文标题】:CRUD module Play! 1.2.4 【发布时间】:2013-02-24 15:28:38 【问题描述】:我正在使用 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.
对此有什么想法吗?
【问题讨论】:
【参考方案1】:模型已经有一个 ID。
如果您想使用自己的 Id,则应改为扩展 GenericModel。
【讨论】:
是的,经过多次测试和搜索,现在它已修复。@Entity public class MyEntity extends GenericModel @Id @GeneratedValue (strategy = GenerationType.AUTO) public Long id;
以上是关于CRUD 模块 玩! 1.2.4的主要内容,如果未能解决你的问题,请参考以下文章