스프링 데이터 JPA-18.Named Parameter과 SpEL
스프링 데이터 JPA: Named Parameter과 SpEL
Named Parameter
- @Query에서 참조하는 매개변수를 ?1, ?2 이렇게 채번으로 참조하는게 아니라 이름으로 :title 이렇게 참조할 수 있다.
@Query("SELECT p FROM Post AS p WHERE p.title = :title") List<Post> findByTitle(@Param("title") String title, Sort sort);
SpEL
- 스프링 표현 언어
- 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);
- 엔티티에서 선언으로 이름을 바꿔도 바로 적용이 된다.