스프링 데이터 JPA 5. Named Parameter와 SpEL - KwangtaekJung/inflearn-spring-data-jpa-keesun GitHub Wiki
- @Query에서 참조하는 매개변수를 ?1, ?2 이렇게 채번으로 참조하는게 아니라 이름으로 :title 이렇게 참조하는 방법은 다음과 같습니다.
@Query("SELECT p FROM Post AS p WHERE p.title = :title") // 매개 변수 이름을 변경할 경우 밑에도 바꿔줘야 한다.
List<Post> findByTitle(@Param("title") String title, Sort sort);
- 스프링 표현 언어
- https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions
- @Query에서 엔티티 이름을 #{#entityName} 으로 표현할 수 있습니다.
@Query("SELECT p FROM #{#entityName} AS p WHERE p.title = :title")
List<Post> findByTitle(@Param("title") String title, Sort sort);