The data binding in Vaadin (since 7.x) is done with the FieldGroup class. But the FieldGroup does not support nested properties of Java Beans. There is a subclass BeanFieldGroup which does support nested properties.
BeanFieldGroup<Customer> binder = new BeanFieldGroup<Customer>(Customer.class); binder.setItemDataSource(customer); ... binder.bind(streetField, "address.street");