Binder
используется для привязки атрибутов Bean
к форме (например, TextFields), отображаемой в пользовательском интерфейсе. Поэтому, когда вы делаете что-то вроде этого Как связать данные формы
Binder<Person> binder = new Binder<>(Person.class);
TextField titleField = new TextField();
// Start by defining the Field instance to use
binder.forField(titleField)
// Finalize by doing the actual binding
// to the Person class
.bind(
// Callback that loads the title
// from a person instance
Person::getTitle,
// Callback that saves the title
// in a person instance
Person::setTitle);
, вы точно указываете, что titleField
отображает название человека. Binder
не является не связанным с / ответственным за постоянство БД. В документации, на которую вы ссылаетесь, во всех примерах есть строка, подобная этой: MyBackend.updatePersonInDatabase(person);
. Разработчик несет ответственность за сохранение объекта в базовой базе данных. Flow - это структура пользовательского интерфейса, поэтому вы можете свободно выбирать поставщика / технологию базы данных.
Что касается Vaadin 7, где вы нашли пример? Я не могу найти метод save
для FieldGroup
класса FieldGroup API
Может быть, кто-то расширил его и добавил необходимую функциональность?
Итак, дляНапример, если вы используете hibernate что-то вроде этого:
session.save(emp);
вставит ваш объект в БД. Взято отсюда: Учебное пособие по Hibernate Insert Query *
Некоторые другие полезные ссылки: