@Query 사용하여 값 / DTO 조회

Mina Park·2022년 10월 4일
0
  • 단순히 값 하나만 조회하는 경우
 @Query("select m.username from Member m")
    List<String> findUsernameList();
  • 여러개 값을 DTO로 직접 조회하는 경우
//DTO인 경우 new + 패키지 경로 전부 기재
    @Query("select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t")
    List<MemberDto> findMemberDto();
@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;
    }
}

[주의] 📌 DTO로 직접 조회하기 위해서는

  • 반드시 "new" 명령어 사용!!!
  • 생성자가 맞는 DTO가 필요
  • DTO 기재할 때 반드시 패키지 경로 전부 작성

0개의 댓글