in :orderids 일 때 DB 쿼리에 대하여 (사소함)
사소한 것 같은데 호옥시나 해서 질문합니다.
List<OrderQueryDto> orderDtos = findOrderQueryDtos();
List<Long> orderIds = orderDtos.stream().map(o -> o.getOrderId()).collect(Collectors.toList());
List<OrderItemQueryDto> orderItemDtos = em.createQuery("select new jpabook.jpashop.repository.order.query" +
".OrderItemQueryDto(oi.order.id, i.name, oi.count, oi.orderPrice)" +
" from OrderItem oi join oi.item i where oi.order.id in :orderIds",
OrderItemQueryDto.class).setParameter("orderIds", orderIds).getResultList();
일 때,
orderIds = [4, 11] 인데
이걸
in :orderIds에 넣으면
[4, 11]이 아니라
내부에서 자동으로 (4, 11)로 괄호가 바뀌어서 DB에 날라가는 거 맞나요 ?
List 구조를 보고, 쿼리를 보면 그런 것 같은데 혹시나 혹시나 해서
사소하게 물어봅니다 :]
답변 1
1
안녕하세요. relate16님, 공식 서포터즈 OMG입니다.
JQPL에서 컬렉션 in절 관련 질문이신것 같습니다.
질문 내용과 관련하여 스택오버플로우의 3개의 글을 확인하였는데요,
확인해보니 숙지하고 계신 내용대로 사용하시면 될 것 같습니다.
아래의 링크를 참고해주세요.
참고
java - Setting a parameter as a list for an IN expression - Stack Overflow
sql - JPQL IN clause: Java-Arrays (or Lists, Sets...)? - Stack Overflow
java - Adding IN clause List to a JPA Query - Stack Overflow
감사합니다.
@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.
0
32
2
강의 관련 외 질문입니다.
0
91
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
1
111
1
BeanCreationException
0
104
3
Update 후 UpdateMemberResponse 매핑할 때
0
64
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
109
2
페이징 + 검색조건 관련해서 질문드립니다.
0
77
1
Query Dsl Q파일 질문입니다.
0
92
1
루트 쿼리라는것은
0
68
1
메서드를 분리하는 기준
0
76
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
123
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
97
2
fetch join과 영속화와 OSIV의 관계
0
100
2
Distinct 사용 전 결과에 대한 의문
0
124
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
65
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
82
2
dto 필드 속 엔티티 여부
0
67
1
뷰템플릿 사용 시
0
86
2
Result 클래스 관련 질문
0
59
1
@PostConstruct 프록시 관련 질문드립니다
0
91
1
DTO 대신 Form 사용은 안되나요?
0
142
1
OSIV ON 상태일 때
0
102
1
fetch join VS fetch join 페이징 궁금증
0
192
2
양방향 연관관계 알아보는 법?
0
113
1





