Vaadin & Lombok - 网格组件不会对我的 bean 应用更改?

Vaadin & Lombok - Grid component does not apply changes to my beans?

我是 Vaadin 的新手。我喜欢使用 Grid 组件来编辑 bean 列表。当我在单元格中编辑值时,更改不会应用于我的 bean。那么我在这里缺少什么?

@Override
protected void init(VaadinRequest request) {
    ...
    VerticalLayout layout = new VerticalLayout();

    PersonDAO personDAO = (PersonDAO) context.getBean("personDAO");
    List<Person> personList = personDAO.getPerson();

    BeanItemContainer<Person> ds = 
            new BeanItemContainer<Person>(Person.class, personList);

    Grid grid = new Grid("Person",ds);
    grid.setEditorEnabled(true);

    setContent(layout);
}

当我减少 equals 和 hashcode 方法以仅使用 "id" 它适用于 Vaadin 和 Lombok。

import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(of={"id"}) // this is the trick
public class Person {

    public Person() {}

    public Person(int id, String name) {
       this.id = id;
       this.name = name;
    }

    private int id;

    private String name;

}