728x90
@Query, 값, DTO 조회하기
단순히 값 하나를 조회하기
*JPA 값 타입(@Embedded)도 이 방식으로 조회할 수 있다.
@Query("select m.username from Member m")
List<String> findUsernameList();
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로 직접 조회하려면 JPA의 new 명령어를 사용해야 한다. 그리고 다음과 같이 생성자가 맞는 DTO가 필요하다.
DTO 예시
@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;
}
}
728x90
'💻dev > 🌱Java+Spring' 카테고리의 다른 글
Spring Data JPA | 순수 JPA와 스프링 데이터 JPA의 페이징과 정렬 비교하기 (0) | 2023.05.09 |
---|---|
Spring Data JPA | 파라미터 바인딩과 반환 타입 (0) | 2023.05.09 |
Spring Data JPA | 마법같은 쿼리 메소드 기능과 @Query (0) | 2023.05.08 |
JPA | JPQL 중급 문법 뿌시기 - 다형성 쿼리, 엔티티 직접 사용, Named 쿼리, 벌크 연산 (0) | 2023.05.04 |
JPA | JPQL 중급 문법 뿌시기 - 페치 조인(fetch join) (0) | 2023.05.04 |