스프링 데이터 JPA - 파라미터 바인딩
- 위치 기반 (안씀)
- 이름 기반
1
2
select m from Member m where m.username = ?0 // 위치 기반
select m from Member m where m.username = :username // 이름 기반
파라미터 바인딩
1
2
@Query("select m from Member m where m.username = :username and m.age = :age")
List<Member> findUser(@Param("username") String username, @Param("age") int age);
참고 : 코드 가독성과 유지보수를 위해 이름 기반 파라미터 바인딩을 사용하자. (위치 기반은 순서 실수가 .. ㅎ)
컬랙션 파라미터 바인딩
Collection타입으로 in절 지원
1
2
@Query("select m from Member m where m.username in :names")
List<Member> findByNames(@Param("names") List<String> names);
다음과 같이 in절로 여러 names를 받아서 조회 가능하다.
로그에 in 절로 잘 들어간 걸 볼 수 있다.
댓글남기기