Как оптимизировать этот запрос, чтобы нужно было ходить в бд всего один раз и на выходе получать карту из ключа
Id товара и значения
true, если в бд есть лицензия.
Код получения метода:
Map<Integer, Boolean> license = new HashMap<>();
for (OverviewOffer offer: offers) {
license.put(offer.getId(), licenseRepository.loadById(offer.getId()).equals(1));
}
Псевдо код обращения к бд:
public Integer loadById(Integer id) {
return id % 2 == 0 ? true : false ;
}
Как видите я хожу в бд через цикл, а это плохо, но в голову ничего не приходит, как правильно это оформить.
Пытался как-то вот так
Map<Integer, Boolean> license = licenseRepository.loadByReferenceIds(ids).stream().collect(Collectors.toMap(Offer::getId, Должен быть Boolean))
Но хз как положить сам Boolean в значение.