Поддержка индексов в кэше сущностей @CacheIndex

jmix 2.4.2

Вопрос:
В EclipseLink есть возможность создавать индексы в кэше сущностей с помощью @CacheIndex, чтобы можно было пользоваться кэшем не только по id, но и по другим атрибутам (например username).
Можно ли сделать такое в Jmix?

Мотивация:
Кэш сущностей не инвалидируется при добавлении/удалении сущностей, все изменения автоматически проходят через него, поэтому он остается актуальным и не требует запросов к БД, в отличие от кэша запросов. Хотелось бы иметь возможно пользоваться этой фишкой не только для запросов по id, но и по другим атрибутам.

Мои попытки разобраться:
Пробовал @CacheIndex, не работает.
Проходился дебагером, увидел, что индекс по атрибуту формируется и сохраняется нормально (IdentityMapManager.cacheIndexes), но не используется при запросах.
Насколько я разобрался jmix расценивает любые запросы по атрибутам как запрос с множественным результатом, т.е. они идут через JmixEclipseLinkQuery.getResultList(), где к запросу прикрепляется query.setHint(QueryHints.REFRESH, HintValues.TRUE) (JmixEclipseLinkQuery#472), и из-за этого кэш не срабатывает.

Пробовал через Repository с и без First, с и без @QueryHint:

@QueryHints(@QueryHint(name = QueryHints.REFRESH, value = HintValues.FALSE))
Optional<MyEntity> findFirstByMyAttribute(String myAttribute);

Пробовал через DataManager:

LoadContext<NewEntity_1> context = new LoadContext<>(metadata.getClass(MyEntity.class));
context.setQueryString("select e from MyEntity e where e.myAttribute= :myAttribute");
context.getQuery().setParameter("myAttribute", "someValue");
context.getQuery().setMaxResults(1);
context.setHints(Map.of(QueryHints.REFRESH, HintValues.FALSE));
dataManager.load(context);

Всё равно запрос идет через getResultList(), а не getSingleResult().