Closed ldk980130 closed 9 months ago
기존에 스트링 concat을 기준으로 정렬 및 커서 페이징을 수행했던 것을 순수하게 and, or 조건 쿼리로 개선했습니다.
아래 처럼 BooleanBuilder의 and() 메서드 하나에 조건들을 넣으면 괄호를 씌울 수 있는 것을 확인해서 개선해보았습니다.
BooleanBuilder
and()
DynamicBooleanBuilder booleanBuilder = DynamicBooleanBuilder.builder() .and(() -> game.league.id.eq(gamesQueryRequestDto.getLeagueId())) .and(() -> game.state.eq(state)) .and(() -> game.sport.id.in(gamesQueryRequestDto.getSportIds())); if (state == GameState.FINISHED) { return booleanBuilder .and(() -> game.startTime.eq(cursorStartTime).and(game.id.lt(cursor)) .or(game.startTime.lt(cursorStartTime))) .build(); }
테스트는 전부 통과합니다
🌍 이슈 번호
📝 구현 내용
기존에 스트링 concat을 기준으로 정렬 및 커서 페이징을 수행했던 것을 순수하게 and, or 조건 쿼리로 개선했습니다.
아래 처럼
BooleanBuilder
의and()
메서드 하나에 조건들을 넣으면 괄호를 씌울 수 있는 것을 확인해서 개선해보았습니다.테스트는 전부 통과합니다
🍀 확인해야 할 부분