Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

@Query, 파라미터 바인딩 본문

인프런/[인프런] Spring Data JPA

@Query, 파라미터 바인딩

Seung__ 2021. 8. 29. 15:43

1. 이름기반, 위치기반 파라미터 바인딩


  • 이름기반 안씀 ㅋㅋㅋㅋㅋㅋ
  • 가독성과,, 유지보수를 위해 이름기반을 쓰자.
  • 위치기반은 순서가 바뀌면....어우..
select m from Member m where m.username = ?0 //위치 기반
select m from Member m where m.username = :name //이름 기반
  • @Pram으로 이름기반 바인딩.
@Query("select m from Member m where m.username = :name")
Member findMembers(@Param("name") String username);

 

2. 컬렉션 파라미터 바인딩


  • Collection 타입으로 in절 지원
  • Query의 "names"에 List<String> names가 바인딩됨.
  • 즉 member의 name이 Collection에 있는 member만 가져오는 쿼리.
@Query("select m from Member m where m.userName in :names")
List<Member> findByNames(@Param("names") Collection<String> names);
 @Test
    public void findByNames(){
        Member member1 = new Member("aaa", 10);
        Member member2 = new Member("bbb", 20);
        memberRepository.save(member1);
        memberRepository.save(member2);

        List<Member> result = memberRepository.findByNames(Arrays.asList("aaa", "bbb"));
        System.out.println("========================");
        for (Member member : result) {
            System.out.println("member = " + member);
        }
    }
========================
member = Member(id=1, userName=aaa, age=10)
member = Member(id=2, userName=bbb, age=20)

 

3. GitHub : 210829 parameter binding


 

GitHub - bsh6463/SpringDataJpa

Contribute to bsh6463/SpringDataJpa development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] Spring Data JPA' 카테고리의 다른 글

JPA의 페이징과 정렬  (0) 2021.08.29
@Query, 반환 타입  (0) 2021.08.29
@Query, 값, DTO 조회하기  (0) 2021.08.29
@Query, repository method에 쿼리 정의  (0) 2021.08.28
JPA NamedQuery  (0) 2021.08.28
Comments