5

我正在使用 Play Framework 2.1.0 在 Java 中编写一个 Web 应用程序。我正在使用 Ebean 来操作数据库。但是我现在遇到了一个问题:

我有一个名为 book 的模型类,它有一个名为 page 的 int 类型列:

    public int page;

    @Column(name="page")
    public int getPage() {
        return page;
    }

   public void setPage(int page) {
        this.page = page;
   }

而且我的MySql 数据库中的page 列也是int 类型的。当我使用 Ebean 获得结果(行)并且我的数据库中页面列的值具有指定值(如 12)时,它运行良好。但是如果我的数据库中 page 属性的值为 null,应用程序将抛出异​​常:

Execution exception[[PersistenceException: Error loading on models.Book.page]]

我不知道如何处理这个问题。

4

1 回答 1

9

使用Integer可以为空的包装器,而不是int原始的:

public Integer page;

@Column(name="page")
public Integer getPage() {
    return page;
}

public void setPage(Integer page) {
    this.page = page;
}

然后你就可以得到\设置空值

于 2013-08-23T17:44:16.313 回答