JAVA

[JAVA] @Query에서 DTO로 조회하기

응디 2022. 2. 15. 17:46

repository에서 dto로 조회하려면 new operation을 사용해야한다.

 

1. 일단 내가 필요한 데이터 들을 뽑아 Dto로 생성

package study.datajpa.dto;

import lombok.Data;

@Data   // getter, setter 다 쓰임 웬만하면 사용 X
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;
    }
}

 

 

2. @Query와 Dto로 데이터 조회

@Query("select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t")
List<MemberDto> findMemberDto();

 

위처럼 dto로 조회 하려면 new dto경로 를 붙여 객체 처럼 사용해야 한다!