Не работает локализация для поля status

Добрый день!
Для диаграммы pieChart делаю выгрузку данных следующим запросом:

    @Override
    public List<KeyValueEntity> getDepPlanByStatus() {
        return dataManager.loadValues("SELECT p.status, COUNT(p) FROM Plan p GROUP BY p.status")
                .properties("status", "count")
                .list();
    }

И вот что выводится в графике:
image
Не понимаю, почему значение латиницей, если для статуса у меня есть локализация в jmix
image
Попробовал дополнительно через цикл for пройтись по всем KeyValueEntity и проставить в значении статуса через бин Messages локализованное значение - все получилось, но не хотелось бы делать дополнительную обработку через цикл, если можно обойтись без него. Локализация должна работать (по идее), но почему-то этого не происходит.

Буду рад любой обратной связи.

Здравствуйте!

База данных для поля с типом enum (который реализует EnumClass) хранит не значение перечисления, а его id. В запросе KeyValueEntity получает id status-а. А PieChart просто отображает значения, которые ему передали.

В данном случае получение локализованного значения через Messages будет правильным решением.

@pinyazhin Роман, добрый день! Но разве платформа не должна сама подставлять локализованное значение? Без дополнительных циклов.
У меня есть другой запрос, где поле status локализуется без дополнительного использования бина Messages:

return dataManager.load(Plan.class).query("SELECT e FROM Plan e ORDER BY e.createdDate DESC").maxResults(10).list();

А первый запрос формируется через loadValues. Предполагаю, что для него не работает локализация, как для второго запроса?

При использовании KeyValueEntity платформа не знает, что поле status - это enum. Для платформы это просто текст или число без привязки.
А при использовании load указывается сущность и в этом случае платформа знает какой тип у поля status.
Я бы порекомендовал использовать сущность основанную на вьюхе в БД, в которой можно будет указать тип поля status.

Понял, спасибо за ответ!