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