Как правильно написать запрос в спящем режиме? - PullRequest
0 голосов
/ 20 июня 2019

у меня

    PartnerNotification quest = partnerNotificationRepository.findById(login.getAccount().getAccountId());

но не работает Я получаю эту ошибку

Type mismatch: cannot convert from Optional<PartnerNotification> to PartnerNotification 

и я не совсем понимаю, почему это происходит, кто-нибудь знает, что происходит, и как я могу это исправить? Поскольку я не знаю, что здесь не так, я попытался создать запрос самостоятельно, но все-таки мне не хватает чего-то здесь в синтаксисе:

/**
 * @param partnerId .
 * @return Notification
 */
@Query("SELECT  FROM PartnerNotification  WHERE  partner_id = :partnerId")
PartnerNotification findNotificationByPartnerId(@Param("partnerId") Integer partnerId);

любая помощь приветствуется и будет полезна!

1 Ответ

1 голос
/ 20 июня 2019

Я думаю, вы должны это реализовать.

Пример:

Repository:

@Query("SELECT  FROM PartnerNotification  WHERE  partner_id = :partnerId")
Optional<PartnerNotification> findNotificationByPartnerId(@Param("partnerId") Integer partnerId);

Услуги:

PartnerNotification quest = partnerNotificationRepository.findById(login.getAccount().getAccountId())
.orElseThrow(RuntimeException::new);

Примечание : Вы можете использовать другое решение и другое исключение, когда accountId не найден. Или вы можете использовать оператор if else (например, isPresent ())

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