CRUD模块播放! 1.2.4

时间:2013-02-24 15:28:38

标签: jpa playframework crud

我正在使用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.  

对此有何想法?

1 个答案:

答案 0 :(得分:0)

模型已有Id。

如果您想使用自己的Id,那么您应该扩展GenericModel。