분명 현재 진행 중인 라우트 프로덕트가 거절된 상태라서, 로그에 거절됐었냐!!!!!
라는 문장이 찍히고 true 로 나와야 하는데, 거절됐다구 나오지 않는 것이다~~
그러던 중 routeProductList를 한번 찍어보니 두두둥 , 리스트 안에 아이디 값으로 자동으로 오름차순 되는 줄 알았는데 아니었음
저런 상태에서 여섯번째 아이를 데려오라고 하니 엉뚱한 1748 을 데리고 오는 것이다,
내가 생각한 로직은 쟤네를 오름차순으로 정렬해놓은 것에서 6번째 아이를 데려오는 것이었구!!
List<RouteProduct> findAllByRouteOrdering
(@Param("routeOrdering")RouteOrdering routeOrdering);
걍 이렇게 리스트 반환받아서, 그 중에서 present 인 애를 현재 작동 routeProduct로 지정
오름차순
정렬인 경우에만 유효한 로직 !!!따라서 @Query 문을 통해서 오름차순으로 자리잡게 만듦
@Query("select c from RouteProduct c " +
"where c.routeOrdering = :routeOrdering " +
"order by c.id asc nulls first, c.id asc")
List<RouteProduct>
findAllByRouteOrdering(@Param("routeOrdering")RouteOrdering routeOrdering);
이 로직을 아주아주 다양한 곳에서 사용 중이었는데 QA 전 잡아서 다행이다!
로직을 꼼꼼히 보고 설계하도록 하자! ㅠㅠ 반성 반성 JPA 에서 findAll 할 때 자동으로 오름차순으로 오는 것이 아니지~