title: Named param not being detected
body: <p>I have a simple query as follows. I get the expected result if I hard code the id value as follows. But it throws IllegalArgumentException exception if I try to get the value from the Param instead. Note that I have tried to use the Param as both long and String and still the same results. Please advise what I am doing wrong. Thanks. </p>
  
  <p>My Query</p>
  
  <pre><code>public interface FeedDetailRepository extends JpaRepository&lt;FeedDetail, Long&gt; {
      @Query("select fd.message from FeedDetail as fd where fd.feedId =: id")
      String custom(@Param("id") long id);
  }  
  </code></pre>
  
  <p>At Controller, if I run the following, I get an exception. </p>
  
  <pre><code>@GetMapping("/something/{id}")
      public String getDetail(@PathVariable long id){
          return feedDetailRepository.custom(id);
      }
  </code></pre>
  
  <p>But if I hard code the id value as follows, I get the wanted result. </p>
  
  <pre><code>public interface FeedDetailRepository extends JpaRepository&lt;FeedDetail, Long&gt; {
      @Query("select fd.message from FeedDetail as fd where fd.feedId = 4")
      String getDetailBasedOnFeedId(@Param("id") long id);
  }
  </code></pre>
  
  <p>The exception</p>
  
  <blockquote>
    <p>nested exception is java.lang.IllegalArgumentException:
    org.hibernate.QueryException: Named parameter not bound : id</p>
  </blockquote>