Spring Data JPA, Query Creation
Query Creation 이란?
Spring Data JPA의 쿼리 매소드 기능 중 하나로
인터페이스를 정의하면 자동으로 쿼리를 생성해주는 기능이다.
Entity
아래와 같은 Member Entity가 있다고 가정하고 사용법을 알아보자.
@Entity
public class Member {
@Id @GeneratedValue
@Column(name = "member_id")
private Long id;
private String username;
private int age;
}
순수한 JPA
public List<Member> findByUsername(String username) {
return em.createQuery("select m from Member m where m.user = :username", Member.class)
.setParameter("username", username)
.getResultList();
}
직접 JPQL로 쿼리를 작성해 주어야하고 parameter도 매핑해주어야 한다.
Spring Data JPA는 이렇게 쿼리를 만드는 과정을 대신 해준다.
Spring Data JPA
//== 컬랙션 조회 ==//
List<Member> findListByUsername(String username);
//== 단건 조회 ==//
Member findMemberByUsername(String username);
위 처럼 단순히 인터페이스에서 매서드만 선언해주면 메서드명을 보고 자동으로 쿼리를 만들어
Member를 조회 할 수 있게 해준다.
만약 'username'이 일치하고 13살 이상의 유저를 찾고 싶다면 아래처럼 하면 된다
List<Member> findByUsernameAndAgeGreaterThan(String username, int age);
이 기능은 엔티티의 필드 명이 변경되면 인터페이스에서 정의한 메서드 이름도 꼭 함게 변경해야한다!
외의 자세한 기능은 Spring 공식 문서의 Query Creation 을 참고하면 된다.
Author And Source
이 문제에 관하여(Spring Data JPA, Query Creation), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yebali/Spring-Data-JPA-Query-Creation저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)