6. @Query - 엔티티, 값, DTO 조회하기

민정·2022년 12월 7일
0

Spring Data JPA

목록 보기
6/17
post-thumbnail

1) 엔티티 조회

select m

public interface MemberRepository extends JpaRepository<Member, Long>{

    @Query("select m from Member m where m.username = :username and m.age = :age")
    List<Member> findUser(@Param("username") String username, @Param("age") int age);
}


2) 값 조회

select m.username

JPA 값 타입(@Embedded)도 이 방식으로 조회

public interface MemberRepository extends JpaRepository<Member, Long>{

    @Query("select m.username from Member m")
    List<String> findUsernameList();
}


3) DTO 조회

select new [패키지명경로.DTO명]()

🚨주의🚨
패키지 경로 모두 작성!!

public interface MemberRepository extends JpaRepository<Member, Long>{

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


출처

김영한 강사님 - 인프런 실전! 스프링 데이터 JPA

0개의 댓글