묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)
데이터 sort 적용 문의
안녕하세요 ! 정환님 덕분에 재밋게 수강하고 있는 수강생입니다. MVC 모델을 JS로 따라하면서 최대한 꼭꼭 씹으면서 이해를 하려 여러번 돌려보고 있습니다. 다른 건 아니고 정환님이 구현하는 대로 따라했지만, HistoryListView 부분 구현 강의에서 controller를 통해 historyData를 솔팅할 때 제대로 되지 않아 정환님과는 다르게 나오더라구요. 그래서 최근 검색어가 새로 생성될 때도 순번이 다르게 나타나 계속 아래쪽에 위치하였습니다. sort 메소드 부분의 콜백을 이리저리 만져보다가 일반적인 오름차순으로 생각할 때 부등호(>)가 아닌 뺄셈 연산자(-)를 사용한 거 같아 적용하니 잘 적용되더라구요. 혹시나 일반적인 부등호로 했을 때 원래 안되는 것인가 싶어서 질문드려요.
-
미해결실전! Querydsl
Spring Sort를 QueryDSL 변환 적용하는 방법 문의
안녕하세요. 강사님 QueryDSL 재미있게 배웠습니다. 정렬기준을 아래와 같이 받았을 때 pageable 파라미터를 이용해서 QueryDSL에 적용하는 방법에 대해서 고민입니다. 정렬기준 입력 형태: URI?sort=field1,asc&sort=field2,desc org.springframework.data.domain.Sort 방법1. pageable 값을 얻어와 직접 queryDSL에 OrderSpecifier로 지정 if (pageable != null) { query.offset(pageable.getOffset()); query.limit(pageable.getPageSize()); for (Sort.Order o : pageable.getSort()) { PathBuilder<Object> orderByExpression = new PathBuilder<Object>(Object.class, "object"); query.orderBy(new OrderSpecifier(o.isAscending() ? com.mysema.query.types.Order.ASC : com.mysema.query.types.Order.DESC, orderByExpression.get(o.getProperty()))); } } 방법2. applyPagination() 함수로 매핑 getQuerydsl().applyPagination(pageable, jPQLQuery); 결과적으로 방법2가 더 깔끔해 보이는데 원본 엔티티와 DTO객체가 달라서 org.hibernate.hql.internal.ast.QuerySyntaxException이 발생하는 이슈가 있습니다. 현재까지 결론은 방법1을 사용해야할 것으로 보이는데 더 좋은 방법을 아시는지 문의드립니다. 감사합니다.