5

I am writing a web application in Java by using Play Framework 2.1.0. And I am using Ebean to manipulate the database. But I got one problem now:

I have a model class called book with an int type column called page:

    public int page;

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

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

And the page column in my MySql database is also int type. When I get a result(row) using Ebean and the value of page column in my database has a specified value like 12, it works well. But if the value of page attribute is null in my database, the application will throw an exception:

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

I don't how to deal with this problem.

Mingrui Ji
  • 399
  • 2
  • 6
  • 11

1 Answers1

10

Use an Integer wrapper, that can be null, instead of int primitive:

public Integer page;

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

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

Then you will be able to get\set nulls

serejja
  • 22,901
  • 6
  • 64
  • 72