복붙노트

[SPRING] JPA의 기준 빌더에서 ignorecase

SPRING

JPA의 기준 빌더에서 ignorecase

기준 작성 도구에서 어떻게 무시할 수 있습니까? 만약 내가 가지고 있다면

private final CriteriaBuilder cb

그러면 cb.asc 나 cb.desc 만 사용할 수 있지만 대소 문자는 무시하지 않습니다.

해결법

  1. ==============================

    1.1. JPA 프로그램에서 Ignorecase 강제 실행 - 작업이 Q를 직접 응답합니까?

    1. JPA 프로그램에서 Ignorecase 강제 실행 - 작업이 Q를 직접 응답합니까?

    JPA ORDER BY 두 열, 무시하는 경우 :

     Order lcSurnameOrder = criteriaBuilder.order(
         criteriaBuilder.lower(Person_.surname));
     Order lcFirstnameOrder = criteriaBuilder.order(
         criteriaBuilder.lower(Person_.firstname));    
     criteriaQuery.orderBy(lcSurnameOrder, lcFirstnameOrder);
    

    JPA LIKE, 무시 사례 :

     Predicate lcSurnameLikeSearchPattern = criteriaBuilder.like(
         criteriaBuilder.lower(Person_.surname), 
         searchPattern.toLowerCase());
     criteriaQuery.where(lcSurnameLikeSearchPattern);
    

    Person_ 정식 메타 모델 클래스가 Person 엔티티에서 생성되어 JPA criteria API의 강력한 유형의 사용을 제공한다고 가정합니다.

    팁 : 최상의 성능 및 제어를 위해 데이터베이스에 INSERT / UPDATE 할 때 문자열 열을 LOWER 또는 INITCAP 경우로 한 번 변환하는 것을 고려하십시오. 사용자가 입력 한 검색 패턴에 대해 동일한 변환을 수행하십시오.

    2. 대안 : 데이터베이스에 데이터 정렬 적용 - 모범 사례, 더 간단하고 더 많은 수행

  2. from https://stackoverflow.com/questions/16611904/ignorecase-in-criteria-builder-in-jpa by cc-by-sa and MIT license