Playframework Ebean.Save()给Connection Connection

时间:2014-03-13 13:43:13

标签: java playframework playframework-2.2 ebean

我有一个简单的Address模型的播放框架,但在调用ebean的#save()方法时,我得到以下错误。

我认为数据库配置正确(我可以毫无问题地阅读模型)。 在内存H2数据库上运行的单元测试工作正常。

代码:

  Address address = new Address(street, postalcode, location);
  address.save();

播放输出:

[error] c.j.b.ConnectionHandle - Database access problem. Killing off this connection and all remaining connections in the connection pool. SQL State = HY000
[error] play - Cannot invoke the action, eventually got an error: javax.persistence.PersistenceException: java.sql.SQLException: Connection is closed!

地址类

@Entity
public class Address extends Model {
@Id
    public int id;
    public String postalcode;
    public String street;
    public String location;

    @OneToMany(cascade= CascadeType.ALL)
    public List<Estate> estates;

    public Address(String street, String postalcode, String location){
        this.postalcode = postalcode;
        this.street = street;
        this.location = location;
    }
    public Address(int id, String street, String postalcode, String location){
        this.id = id;
        this.postalcode = postalcode;
        this.street = street;
        this.location = location;
    }
    public static Finder<Integer,Address> find = new Finder<Integer, Address>(
        Integer.class, Address.class
    );
}

1 个答案:

答案 0 :(得分:2)

我找到了解决方案:模型的ID值不是由ebean生成的。

在我的mysql数据库的id字段上设置auto_increment。