Мне сказали, что когда мы используем 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
, но вопрос не в этом.