22.01.27 12:30 작성
·
171
0
orderItems.size 를 테스트 할때 같은 인스턴스가
orderitem에 중복저장 되는 것 같습니다.
1이 아닌 2가 나와요.
List<OrderItem> orderItems = getOrder.getOrderItems();
for(OrderItem orderItem : orderItems) {
sout (orderItem);
}
하니까 같은 래퍼런스값을 가진 게 2번 똑같이 나왔습니다.
어디서 발생한건지 찾을 수 없어서 질문드려요
답변 2
0
2022. 01. 30. 19:11
안녕하세요. ryu님
문제는 OrderItem.setOrder 코드입니다.
다음 부분을 주석처리 해주시면 정상 동작합니다.
Order.addOrderItem 코드에서도 orderItems.add(orderItem); 코드를 통해서 넣고
추가로 다음 코드에서도 orderItem을 넣기 때문입니다. (중복으로 등록)
/** 연관관계 편의 메서드**/
public void setOrder(Order order){
this.order = order;
// order.getOrderItems().add(this); 주석처리해주세요.
}
양방향 연관관계에서는 이런 부분을 주의해야 합니다.
감사합니다.
0
안녕하세요. ryu님
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
https://bit.ly/3fX6ygx
주의: 업로드시 권한 문제 꼭 확인해주세요
감사합니다
2022. 01. 28. 08:56
https://drive.google.com/file/d/1xhiQIqk8oEHJ0EzNckVHfMLTVeDegSPF/view?usp=sharing
2022. 01. 29. 16:31
ryu님 내부에 실행 가능한 코드가 없습니다. 확인해주세요.
추가로 어떤 부분을 어떻게 실행해야 해당 부분을 확인할 수 있는지도 자세히 알려주세요.
2022. 01. 29. 17:43
test 에서 orderServiceTest 에서 발생한 문제입니다.
다만, 수업을 쭉 진행하면서 localhost 에서 직접 order 을 넣을때는 하나만 들어가서 정상적으로 동작했습니다..
test 를 잘못 작성한것 같은데 잘 못찾겠습니다.
2022. 01. 30. 09:27
업로드 방법 이 잘못되었나봐요. 다시올립니다.
test 에 orderServicetest 에서 문제가 발생하고, test가 아닌 다른 곳은 정상적으로 동작해요
2022. 01. 30. 09:27
https://drive.google.com/file/d/1xhiQIqk8oEHJ0EzNckVHfMLTVeDegSPF/view?usp=sharing
2022. 01. 31. 10:47
아이고 이런. 감사합니다.