JPA/queryDsl

Filter 이름별 조건 설정 방법

lovineff 2021. 3. 9. 17:35
private BooleanExpression filterInput(String filter, String input){
    if(StringUtils.isEmpty(filter) || StringUtils.isEmpty(input)){
        return null;
    }

	// filter 이름별 조건 설정
    if("title".equals(filter)){
        return noticeEntity.title.contains(input);
    }else if("createdUser".equals(filter)){
        return noticeEntity.createdBy.in(
                JPAExpressions
                    .select(adminsEntity.idx)
                    .from(adminsEntity)
                    .where(adminsEntity.name.contains(filter))
            );
    }else{
        return null;
    }
}