spring/JPA

JpaRepository 사용시 메소드 명으로 쿼리문 작성 하기

질주하는구 2021. 5. 17. 15:11

JpaReposiory 사용 사 메소드 명으로 쿼리문을 작성 하는 경우 아래와 같은 형식으로 정의 할 수 있습니다.

 

1) findByXX ex>findByParentDataSeq 와 같이 ParentDataSeq 값을 기준으로 데이터를 검색 하고자 하는 경우 findBy 이후에 ParentDataSeq 컬럼을 명시해서 관련 쿼리문이 나오게  할 수 있습니다.


2) Like / NotLike ex> findByFileNameLike 와 같이 FileName, Like 를 붙여 주면 FileName 기준으로 like 검색을 쿼리문을 생성 해줍니다.


3) StartingWith / EndingWith ex> findByFileNameStartingWith("2021년") 와 같이 FileName 과 StartingWith 를 붙여 주면 FileName 에 '2021년' 으로 시작하는 데이터만 검색 하게 됩니다.
file명으로 검색 하는 경우 EndingWith(".jpg") 와 같이 확장자 기준으로 데이터를 가지고 오는데 사용하는게 유용 합니다.


4) IsNull / IsNotNull ex> findByFileNameIsNull() FileName 와 IsNull 을 같이 사용하는 경우 FILE_NAME이 NULL인 데이터만 조회 합니다.


5) True / False ex> findByFileCheckTrue 라면 FILE_CHECK컬럼이 값이 true인 경우에만 데이터를 조회 합니다. 컬럼 형식이 boolean인 경우 사용 할 수 있습니다.


6) Before / After  ex> findByRegDateBefore(new Date()) 인 경우 REG_DATE컬럼이 넘겨받는 new Date() 기분으로 이전 날짜인 경우에만 데이터를 조회 합니다. date, datetime 형식 인경우 사용 가능 합니다.


7) LessThan / GreaterThan ex> findByFileSeqLessThan(20) FILE_SEQ 컬럼의 값이 20보다 작은 데이터만 조회 합니다. (GreaterThan는 더 큰수만 조회 합니다.) number 형식인 경우 사용 가능 합니다.


8) Between ex> findByFileSeqBetween(10,20) FILE_SEQ의 값이 10~20사이인 데이터만 조회 합니다. BETWEEN 함수를 사용하는 것과 동일 합니다.(number, daste 형식인 경우 사용 가능 합니다.

 

9) And / OR ex> findByParentDataSeqAndFuncType(Integer parentDataSeq, String funcType) 같이 조건을 여러개 붙이는 경우 중간에 And, OR를 붙여서 데이터 조회를 할 수 있습니다.

반응형