nativeQuery를 사용하여
select in 과 page를 를 적용시켜보았다
분명 직접 조회했을 때는 마지막 데이터가 72였는데
왜 select in 에 들어갈 값의 순서가 바뀔때 마다 데이터도 달라지는건지 ..?
저 path값을 받아와서 바로 select in 했던것이 원인인 것 같다.
✏️ 그렇다면 어떻게 수정하는게 좋을까?
select in을 하게된다면 String 값이 아닌 List 나 배열 값으로 검색이 가능하다!
Stream<String> stringStream = Arrays.stream(emo.split(","));
List<Long> longList
= stringStream.parallel().mapToLong(Long::parseLong).boxed().collect(Collectors.toList());
List<Object[]> objectList = boardRepository.getBoardImages(page, size, longList);
emo.split(",") : "," 기준으로 자르기
mapToLong(Long::parseLong) : 모두 Long타입으로 형변환 시키기
List<Long> longList : 형변환된 값들을 모두 List에 담아 이 값으로 select in
🤔 사실 String[ ]로도 가능하다
→ 위는 Map 연습해보고싶어서 한거임 헤헷
List<Object[]> objectList = boardRepository.getBoardImages(page, size, emo.split(","));
emo.split(",") : "," 기준으로 자르기 String[ ]로 return됨
'개발일기 > Java' 카테고리의 다른 글
NoSuchElementException 에러 해결 (0) | 2023.04.12 |
---|---|
CommandAcceptanceException 해결 (0) | 2023.04.12 |
nativeQuery 원하는 Dto로 가져오기 (0) | 2023.04.11 |
nativeQuery 사용법 (0) | 2023.04.11 |
IntelliJ 테스트 코드 한글 깨짐 현상 해결 (0) | 2023.03.30 |