Data Jpa - 쿼리 메소드 기능

Seongjin Jo·2022년 12월 26일
0

Data Jpa

목록 보기
2/6

✔ 메소드 이름으로 쿼리 생성


( Data Jpa 공식 문서 )
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-creation

  • 조회 : find...By,read..By
  • COUNT : count...By 반환타입 long
  • 삭제: delete…By, remove…By 반환타입 long
  • LIMIT: findFirst3, findFirst, findTop, findTop3

( 제공하는 기능은 공식 문서 참고할 것 )
이런 식으로 규칙에 맞게 작성하면 자동으로 Data Jpa가 만들어 준다.참고로 이 기능은 엔티티의 필드명이 변경되면 인터페이스에 정의한 메서드 이름도 꼭 함께 변경해야 한다. 그렇지 않으면 application 실행 시점에 error 발생.이렇게 application 로딩 시점에 오류 인지를 할수 있는 것이 Data Jpa의 큰 장점.

✔ NamedQuery 네임드 쿼리


member

memberRepository

  • 스프링 데이터 JPA로 NamedQuery 사용
  • @Query 를 생략하고 메서드 이름만으로 Named 쿼리를 호출할 수 있다.

✔ @Query, 리포지토리 메소드에 쿼리 정의하기


  • 실행할 메서드에 정적 쿼리를 직접 작성하므로 이름 없는 Named 쿼리라 할 수 있음
  • 이런식으로 @Query를 이용해서 메서드위에 직점 쿼리문을 작성해주면 application 실행 전에 문법 에러를 잡아주는 매우 큰 장점이 있다!

✔ DTO 값 조회


값 하나 조회

DTO로 직접 조회

주의! DTO로 직접 조회 하려면 JPA의 new 명령어를 사용해야 한다. 그리고 다음과 같이 생성자가 맞는 DTO가 필요하다. (JPA와 사용방식이 동일하다.)

✔ 파라미터 바인딩


1.위치기반
2.이름기반

코드 가독성과 유지보수를 위해 이름 기반 파라미터 바인딩을 사용하자

0개의 댓글

관련 채용 정보