Query annotation – 가장 흔하게 사용하는 방법이다. Repository의 조회 메소드에 직접 실행될 쿼리를 적어준다.
JPA는 조건문에 들어가는 파라미터의 위치를 메소드의 파라미터 위치로부터 유추한다.
즉 ?1 이라는 표시된 곳에 첫번째 파라미터의 값이 반영된다.
쿼리가 복잡하다면 이름을 참조하는 좀 더 알아보기 쉬운 방식으로 사용하는게 좋다.
이름을 참조할려면 인터페이스 메소드의 각 파라미터 앞에 @Param 이라는 추가 annotation을 사용해서 참조 가능한 이름을 주고 쿼리에서 이 이름을 사용하면 된다.
예제에서 보면 쿼리에 firstname, lastname이라는 변수를 참조했고, 참조된 변수는 @Param annotation으로 메소드에 함께 선언된 것을 확인할 수 있다.
'■ Spring + Boot' 카테고리의 다른 글
[Spring] 스프링 부트 구동 시점에 특정 코드 실행 시키기 (CommandLineRunner & ApplicationRunner) (0) | 2020.11.20 |
---|---|
[Spring] JPA - @JoinTable (조인할려면) (0) | 2020.11.07 |
[Spring] JPA - @NamedQuery(정적 쿼리) (0) | 2020.11.03 |
[용어정리] JPA 로직 ★ (0) | 2020.11.02 |
[Spring] SpringData JPA에서 CrudRepository와 JpaRepository 인터페이스의 차이점 (0) | 2020.11.02 |