У меня есть простой запрос следующим образом.Я получаю ожидаемый результат, если жестко закодировать значение идентификатора следующим образом.Но он выдает исключение IllegalArgumentException, если я пытаюсь получить значение из Param.Обратите внимание, что я попытался использовать Param как long, так и String, и все еще с теми же результатами.Посоветуйте пожалуйста что я делаю не так.Благодарю.
Мой запрос
public interface FeedDetailRepository extends JpaRepository<FeedDetail, Long> {
@Query("select fd.message from FeedDetail as fd where fd.feedId =: id")
String custom(@Param("id") long id);
}
В Controller, если я запускаю следующее, я получаю исключение.
@GetMapping("/something/{id}")
public String getDetail(@PathVariable long id){
return feedDetailRepository.custom(id);
}
Но если я жестко закодирую значение идентификатора следующим образом, я получу желаемый результат.
public interface FeedDetailRepository extends JpaRepository<FeedDetail, Long> {
@Query("select fd.message from FeedDetail as fd where fd.feedId = 4")
String getDetailBasedOnFeedId(@Param("id") long id);
}
Исключение
Вложенное исключение - java.lang.IllegalArgumentException: org.hibernate.QueryException: Именованный параметр не привязан: id