@Query
Spring Data JPA 가 제공하는 어노테이션으로 JPQL 쿼리를 정의하는데 사용한다.
@Query("Select u FROM User u WHERE u.name = :name")
List<User> findUserByName(@Param("name") String name);
위 코드처럼 @Query 어노테이션의 Value부분에 JQPL 쿼리가 지정되며,
@Param 어노테이션을 사용하여 쿼리에서 사용할 파라미터를 지정할 수 있다.
@Query 어노테이션은 직접 JPQL을 작성하기 때문에
Query Method와 달리 복잡한 쿼리를 정의할 때 사용하는것을 추천한다.