Dev/Spring
[Junit] id to load is required for loading 해결 방법
yo0oni
2023. 9. 21. 01:47
상품 주문 관련 테스트 코드를 돌리고 있는데 에러가 발생했다.
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); 을 추가해 주면
테스트 코드가 잘 돌아가는 것을 확인할 수 있다.