Требуется ли массовая операция при использовании доменной модели anemi c для загрузки всей коллекции? - PullRequest
0 голосов
/ 17 апреля 2020

Мне сказали, что когда мы используем anemic domain model с orm и мы хотим выполнить операцию bulk, получая sum sth, нам нужно хранить все объекты в памяти:

    //Anemic Domain Model with ORM
    int calculateSumAnemicDomainModel() {
        List <Subscription> all = repo.findAll();
        return all
            .stream()
            .mapToInt(Subscription::getUsedPauses)
            .sum();
    }
}

Но я не согласен, потому что я думаю, что мы можем использовать ленивую загрузку в этом случае с помощью ORM.

Поддерживает ли приведенный выше фрагмент lazy loading?

В этом ли lazy loading дело хорошая идея?

Например, нам нужно подумать о том, сколько раз мы подключаемся к БД.

Есть также проекции (но здесь нет никаких joins) или материализованные формы, подобные представлениям - но что будет лучше в этом сценарии? Какая выгода?

Конечно, мы можем использовать transaction script, но вопрос не в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...