728x90
@Query 어노테이션 사용
장점 : 컴파일시 문법오류 체크
package com.study.datajpa.repository;
import com.study.datajpa.entity.Member;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface MemberRepository extends JpaRepository<Member, Long> {
List<Member> findByUsername(String username);
List<Member> findByUsernameAndAgeGreaterThan(String username, int age);
@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);
}
DTO에 데이터 저장 조회
패키지 경로 다 적어줘야한다
@Query("select new com.study.datajpa.dto.MemberDto(m.id,m.username,t.name) from Member m join m.team t")
List<MemberDto> findMemberDto();
컬랙션 in 절
컬렉션을 한번에 조회 가능하다
@Query("select m from Member m where m.username in :names ")
List<Member>findByNames(@Param("names") Collection<String> name);
728x90
'백엔드 > JPA' 카테고리의 다른 글
스프링 데이터 jpa 벌크 쿼리 (0) | 2021.10.23 |
---|---|
스프링 data jpa 페이징 (0) | 2021.10.23 |
스프링 데이터 JPA 기초 (0) | 2021.10.22 |
JPA 조인 (0) | 2021.10.19 |
Rest API 개발시 양뱡향 연관관계 주의할 점 (0) | 2021.10.18 |