티스토리 뷰

package study.datajpa.dto;

import lombok.Data;

@Data
public class MemberDto {

    private Long id;
    private String username;
    private String teamName;

    public MemberDto(Long id, String username, String teamName) {
        this.id = id;
        this.username = username;
        this.teamName = teamName;
    }
}
    @Query("select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t")
    List<MemberDto> findMemberDto();

 

이 전에 JPA 강의에서도 나왔 듯이 DTO로 조회하는 것에는 딱히 큰 다름이 없다.

 

 

 

파라미터 바인딩

 

 

- in 절 까지도 지원한다.

    @Query("select m from Member m where m.username in :names")
    List<Member> findByNames(@Param("names") Collection<String> names);
    @Test
    public void findByNames(){
        Member m1 = new Member("AAA", 10);
        Member m2 = new Member("AAA", 20);
        memberRepository.save(m1);
        memberRepository.save(m2);

        List<Member> result = memberRepository.findByNames(Arrays.asList("AAA", "BBB"));

        for (Member member : result) {
            System.out.println("member = " + member);
        }

    }
select m1_0.member_id,m1_0.age,m1_0.team_id,m1_0.username from member m1_0 where m1_0.username in ('AAA','BBB');

 

 

'dev_공부일지 > spring data JPA' 카테고리의 다른 글

벌크성 수정 쿼리  (0) 2024.03.05
변환 타입 (중요, null체크) , 페이징과 정렬  (0) 2024.03.05
JPA NamedQuery  (0) 2024.03.05
메소드 이름으로 쿼리 생성  (0) 2024.03.05
JpaRepository의 정체  (0) 2024.03.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함