Эта проекция:
public interface IDate {
UUID getId();
Long getLatestTime();
default DateTime getLatestDate() {
Long maximumTimeLastModified = getLatestTime();
Date maxDate = new Date(maximumTimeLastModified.longValue());
return new DateTime(maxDate);
}
}
была создана и добавлена в репозиторий JPA:
List<IDate> findLatestDates(Set<UUID> ids);
Функционально это работает отлично и очень чисто.Тем не менее, производительность была низкой - это заняло почти вдвое больше времени, чем просто возвращение List<Object[]>
.(И обработка этих результатов в Java).В частности, веб-запрос занял 12 секунд для использования проекции, но только 7 секунд без него.Кто-нибудь знает почему и есть ли способ улучшить?В целом, известны ли последствия для производительности при использовании проекций, о которых все должны знать?