728x90
반응형
JPA, QueryDsl 쓰기 참 힘들다.
그래도 하나 하나 어렵게 해 나가고 있는데 오늘은 또 Group By한 Count 개수를 반환하는 것을 만든 삽질 내용을 올린다.
리파지토리 단 소스는 아래와 같다.
@Override
public QueryResults<Tuple> getBusinessTotalCount() {
QUser user = QUser.user;
return from(user).where(user.userType.eq(UserType.B2B)).groupBy(user.platform).select(user.platform, user.platform.count()).fetchResults();
}
그리고 가지고 온 내용을 가지고 맵으로 이쁘게 정렬해서 반환해 주면 된다.
public Map<String,Integer> getBusinessTotalCount() {
QueryResults<Tuple> queryResults = userQueryRepository.getBusinessTotalCount();
Map<String,Integer> returnMap = new HashMap<>();
List<Tuple> list = queryResults.getResults();
for (Tuple tuple : list) {
returnMap.put(tuple.get(0, String.class), tuple.get(1, Integer.class));
}
return returnMap;
}
코드만 놓고 보자면 별거 아닌데, 모르는 상태에서 찾아서 할려니 진도가 더디다. ㅠㅠ
728x90
반응형
'Java > Spring' 카테고리의 다른 글
QueryDSL 사용하기 (0) | 2019.08.08 |
---|---|
파라미터에 따라 특정 변수에 값 Set 하기 (0) | 2018.10.24 |
RestTemplate에서 PUT으로 파라미터 전송하기 (0) | 2018.09.13 |
Jackson ObjectMapper에서 json data를 Map이 아니라 Object로 받기 (0) | 2018.09.12 |
[삽질] stomp, sockjs를 이용하여 websocket 연결 시 info 가 404로 나오는 경우 (4) | 2018.03.13 |