Жадные запросы в Screen Browse модели

Добрый день.

У меня модель имеет вычисляемое свойство:

@DependsOnProperties({"operations"})
@Transient
@JmixProperty
public BigDecimal getBalance() {
        if (operations == null) {
            return BigDecimal.ZERO;
        }

        return operations.stream().reduce(BigDecimal.ZERO, (sum, o) -> sum.add(o.getValue()), BigDecimal::add);
}

Но такой запрос весьма долго выполняется при открытии страницы с обзором модели.
Я думаю что нужно как-то настроить fetchPlan, но док-ия по нему в TODO… можете подсказать?

<collection id="accountsDc"
            class="ru.two.dance.shopcontrol.entity.Account">
    <fetchPlan extends="_base"/>
    <loader id="accountsDl">
        <query>
            <![CDATA[select e from shpctrl_Account e]]>
        </query>
    </loader>
</collection>

Добрый день.
Механизм fetch plans аналогичен механизму представлений.

В вашем случае нужно добавить в fetchPlan свойство operations, которое используется в вычисляемом свойстве.

        <collection id="accountsDc"
                    class="com.company.cdm.entity.Account">
            <fetchPlan extends="_base">
                <property name="operations" fetchPlan="_base"/>
                <property name="balance"/>
            </fetchPlan>
            <loader id="accountsDl">
                <query>
                    <![CDATA[select e from cdm_Account e]]>
                </query>
            </loader>
        </collection>
2 симпатии