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

时间:2015-12-05 17:09:25

标签: java spring grid vaadin lombok

我是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);
}

1 个答案:

答案 0 :(得分:0)

当我减少equals和hashcode方法时,只使用&#34; id&#34;它适用于Vaadin&amp; 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;

}