개발강의정리/Spring

[스프링 데이터 JPA] 4-5. 스프링 데이터 JPA: Named Parameter과 SpEL

nineDeveloper 2019. 12. 14.
728x90

스프링 데이터 JPA

4. 스프링 데이터 JPA 활용

포스팅 참조 정보

GitHub

공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다

해당 포스팅에 대한 내용의 GitHub 주소

실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다

https://github.com/freespringlecture/spring-data-jpa-study/tree/chap04-05-jpa-named_parameter

해당 포스팅 참고 인프런 강의

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-jpa/dashboard

실습 환경

  • Java Version: Java 11
  • SpringBoot Version: 2.1.2.RELEASE

5. 스프링 데이터 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")&nbsp;String title, Sort sort);

 

SpEL(Spring Expression Language)

https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions

  • 스프링 표현식 언어로 문자열을 처리해줌
  • @Query에서 엔티티 이름을 미리정의가 되어있는 #{#entityName} 으로 표현할 수 있습니다
@Query("SELECT p FROM #{#entityName}&nbsp;AS p WHERE p.title = :title")
List<Post> findByTitle(@Param("title") String title, Sort sort);


728x90

댓글

💲 추천 글