Querydsl

[Querydsl] Enum column Like 문 사용하기

소범범 2023. 4. 11. 12:34

Title

Querydsl 쿼리 조회시 Enum 으로  되어있는 Column 에 Like 문 사용하기

 

 

Issue

Querydsl을 사용해서 검색 조건에 따른 리스트 조회 쿼리를 작성하던 중

Enum으로 되어 있는 전화번호 Column의 like 문을 사용해야하는 상황을 마주했습니다.

 

 

Solution

아래와 같은 코드로 작성할 수 있습니다.

    /**
     *  @Method  : enum type 전화번호의 like 조회
     *  @since   : 2023-04-11
     *  @auther  : SYB
     */
    public BooleanExpression likeCallNumber(SimplePath<CallNumber> callNumber, String likeValue) {
        if (likeValue == null) {
            return null;
        } else {
            return Expressions.booleanTemplate("{0} like concat({1}, '%')", callNumber, likeValue);
        }
    }

 

* 위 코드는 암호화 되어있다면 사용할 수 없습니다.(암호화된 컬럼의 경우도 해결방법이 있긴하지만.. 기본적으로 eq을 사용하는 경우가 많은 것 같습니다.)

 

 

'Querydsl' 카테고리의 다른 글

[LINK공유] 우아한 형제들의 Querydsl 사용법  (0) 2023.03.27