Автозаполнение полей таблицы на экранной форме компонент Table

Здравствуйте. Версия Jmix 1.4.1

Пользователь заполняет таблицу “table” на экранной форме, после сохранения формы, таблица сохраняется в бд в виде ArrayList<HashMap<String, Object>, где HashMap это строки с именем столбца и значением. Как сделать так, чтобы при редактировании экранной формы, поля таблицы автоматически заполнялись значениями из бд. Метод setValue как другими типами полей не работает.

Пытался написать такой метод, но он не работает

private void setDataToTable(Map<String, Object> savedItems, Component component) {

    KeyValueCollectionContainer container = dataComponents.createKeyValueCollectionContainer();
    Collection<KeyValueEntity> arrayList = new ArrayList<>();
    for (HashMap<String, Object> map : (ArrayList<HashMap<String, Object>>) savedItems.get(component.getId())) {
        KeyValueEntity entity = dataManager.create(KeyValueEntity.class);
        for (String s : map.keySet()) {
            entity.setValue(s, map.get(s));
            container.addProperty(s, map.get(s).getClass());
          ((Table<?>) component).removeColumn(((Table) component).getColumn(s));
            ((Table<?>) component).addColumn(container.getEntityMetaClass().getPropertyPath(s));
        }
        arrayList.add(entity);
    }
    container.setItems(arrayList);
    ((Table) component).setItems(new ContainerTableItems<>(container));
    ((Table) component).setEditable(true);
}

Способ создания таблицы выглядит так:

в XML

    <keyValueCollection id="tableDc">
        <properties>
            <property name="nameOfSettlementField" class="com.consyst.isopas.entity.RefBookLocality"/>
            <property name="distanceField" datatype="int"/>
        </properties>
    </keyValueCollection>

            <table id="tableTable" dataContainer="tableDc"
                   editable="true" stylename="formInput" width="100%"">
                <actions>
                    <action id="remove" type="remove"/>
                </actions>
                <buttonsPanel id="buttons" alwaysVisible="true">
                    <button id="addBtn">
                    <button id="removeBtn"
                            action="tableTable.remove"/>
                </buttonsPanel>
                <columns>
                    <column id="nameOfSettlementField" editable="true"/>
                    <column id="distanceField"  editable="true"/>
                </columns>
            </table>

В контроллере:

@Subscribe("addBtn")
public void onAddBtnClick(final Button.ClickEvent event) {
    KeyValueEntity entity = dataManager.create(KeyValueEntity.class);

    entity.setValue("nameOfSettlementField", null);
    entity.setValue("distanceField", null);

    List<KeyValueEntity> table = new ArrayList<>();

    table.addAll(tableDc.getItems());
    table.add(entity);

    tableDc.setItems(table);
}