상품 주문 관련 테스트 코드를 돌리고 있는데 에러가 발생했다.
id to load is required for loading; nested exception is java.lang.IllegalArgumentException: id to load is required for loading
org.springframework.dao.InvalidDataAccessApiUsageException: id to load is required for loading; nested exception is java.lang.IllegalArgumentException
에러 문구를 읽어보니 id값에 문제가 있는 것 같았다.
에러가 발생한 위치를 확인해 보니 엔티티 매니저에서 아이템을 꺼내올 때 발생하는 문제였다.
에러 문구와 코드를 확인하니 아이템이 DB에 저장되지 않은 것 같았다.
그리고 그 예상이 맞았다.
아이템을 만들어주고 em.persist(book); 을 작성해야 하는데 빼먹었다...
이렇게 em.persist(book); 을 추가해 주면
테스트 코드가 잘 돌아가는 것을 확인할 수 있다.
'Dev > Spring' 카테고리의 다른 글
[Spring] 관심사를 분리하는 이유 (0) | 2024.05.12 |
---|---|
[Spring] Entity 설계시 주의할 점 (0) | 2023.09.19 |
[H2] zsh: permission denied: ./h2.sh (0) | 2023.09.18 |
[Spring] BeanFactory와 ApplicationContext 차이점 (0) | 2023.09.15 |
[Spring] 생성자 주입을 선택해야 하는 이유 (0) | 2023.09.14 |