如何在休眠中正确编写查询?
How to write a properly query in hibernate?
我有
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);
感谢任何帮助,这将很有帮助!
我认为你应该实施它。
示例:
存储库:
@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() )
我有
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);
感谢任何帮助,这将很有帮助!
我认为你应该实施它。
示例:
存储库:
@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() )