Cute Running Puppy
본문 바로가기
개발일기/Java

nativeQuery select in 적용하기

by 징구짱 2023. 4. 11.
728x90

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

728x90