- 위치 기반
- 이름 기반 (무조건 이름 기반 사용하자)
위치, 이름 기반의 차이
파라미터 바인딩
@Query 속 :name에 집중
import org.springframework.data.repository.query.Param
public interface MemberRepository extends JpaRepository<Member, Long> {
@Query("select m from Member m where m.username = :name")
Member findMembers(@Param("name") String username);
}
위치기반은 순서 실수가 일어날 수 있음.
컬렉션 파라미터 바인딩
Collection 타입으로 in절 지원
@Query("select m from Member m where m.username in :names")
List<Member> findByNames(@Param("names") List<String> names);
'Spring boot' 카테고리의 다른 글
QueryDSL 데이터 조회 시, Entity, Tuple, DTO 사용법 + 각 장단점 (0) | 2023.07.27 |
---|---|
[Spring boot] 쿼리 속 ? 인자 확인하는 방법 (0) | 2023.06.22 |
[spring boot] 3차 정리 (페치 조인, 벌크 연산) (0) | 2022.01.21 |
[spring boot] 3차 정리 (값 타입) (0) | 2022.01.21 |
[spring boot] 변경감지(dirty checking)와 병합(merge) (0) | 2022.01.20 |