본문 바로가기
백엔드/Spring

[Spring JPA] 검색 쿼리 - 대소문자 무시하기

by RoJae 2021. 1. 2.

🚀  들어가며...

  • 커뮤니티 게시판에서 검색 기능을 개발할때, 대소문자에 구분 없이 사용하도록 해야한다.

💌 소스코드

package org.rojae.examples;


import java.util.List;

public interface CommentRepository extends MyRepository<Comment, Long>{

    // IgnoreCase를 추가 ~> keyword의 문자를 대문자로 바꾸어 준다
    List<Comment> findByCommentContainsIgnoreCase(String keyword);
}

 

 위의 코드를 사용하여 (IgnoreCase를 추가한)

하이버네이트가 생성한 쿼리를 확인해보면 

Hibernate의 생성 쿼리

upper()를 통해서 무조건 대문자로 검색하는 것을 알 수 있다. (사용한 데이터베이스는 postgres)

이를 통해서 대소문자 구분 없이 JPQL을 만들수 있다는 것.

 

 

📑 결론

JPQL의 구조 

~> 리턴타입 {접두어}{도입부}By{프로퍼티 표현식}(조건식)[(And|Or){프로퍼티 표현식}(조건식)]{정렬 조건} (매개변수)

에서 IgnoreCase 조건식을 추가하여 대소문자를 무시할 수 있다.

 

 

🙋🏻‍♂️ 후기

레퍼런스를 평소에 잘 보는 습관을 가져야겠습니다.

 

 

🔗  참고한 글

 

 

댓글