실전! 스프링 데이터 JPA

Ch03. 쿼리 메소드 기능 - 메소드 이름으로 쿼리 생성

webmaster 2021. 12. 26. 09:54
728x90

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation

 

Index of /spring-data/jpa/docs/current

 

docs.spring.io

JPA

JPA에서의 커스텀 JPQL

  • JPA에서의 커스텀 JPQL이다.
  • username, age를 파라미터로 받아 쿼리를 실행한다.

Test

테스트

SpringDataJpa

메소드 명을 보고 JPQL을 생성해준다.
Test

  • 스프링 데이터 JPA는 메서드 이름을 분석해서 JPQL을 생성하고 실행
  • 단점 : 조건이 증가할수록 메서드명이 길어진다.

스프링 데이터 JPA가 제공하는 쿼리 메서드 기능

  • 조회: find…By , read…By , query…By get…By
  • COUNT: count…By 반환타입 long
  • EXISTS: exists…By 반환타입 boolean
  • 삭제: delete…By, remove…By 반환타입 long
  • DISTINCT: findDistinct, findMemberDistinctBy
  • LIMIT: findFirst3, findFirst, findTop, findTop3

참고

  • 이 기능은 엔티티의 필드명이 변경되면 인터페이스에 정의한 메서드 이름도 꼭 함께 변경해야 한다. 그렇지 않으면 애플리케이션을 시작하는 시점에 오류가 발생한다.
  • 이렇게 애플리케이션 로딩 시점에 오류를 인지할 수 있는 것이 스프링 데이터 JPA의 매우 큰 장점이다.
728x90