Здравствуйте, у меня есть вопрос о Факультативном.Необязательный должен использоваться, когда есть возможность, тогда нуль может быть возвращен.Я хотел использовать его, чтобы найти изображение по номеру товара.Так в DAO:
@Override
public Optional findImage(int itemId) {
Session currentSession = entityManager.unwrap(Session.class);
return currentSession
.createQuery("select from Image as i where it.itemId=:itemId")
.setParameter("itemId", itemId)
.setMaxResults(1)
.getResultList()
.stream()
.findFirst();
}
В обслуживании:
@Override
public Image findImage(int itemId) {
LOGGER.info("Getting image by item id: {}", itemId);
Optional opt = this.imageDAO.findImage(itemId);
return opt.orElseThrow(() -> new ImageNotFound("The image for item with id: " + itemId + " was not found"));
}
Но я не могу получить значение или выдать конкретную ошибку.
Может кто-нибудь объяснить, как я долженприблизиться к получению одного результата через Optional?
Спасибо !!