오류 내용
- jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.
원인
- 클래스 파일의 파라미터 이름 정보가 없다는 것이 문제.
해결
- @RequestParam에 name 속성을 명시해 주었음. (너무 당연한 거지만 깜박했다..)
확인
- 또 오류 발생..
- 이번에는 api로 데이터를 요청 시 오류 발생..
새로운 오류
- 구글링을 해보니 MultipleBagFetchException, 하나의 Entity에서 다중 Eager 또는 fetch join을 두 개 이상의 컬렉션에 사용하면 발생. (이번 오류는 쿼리 한번으로 모든 데이터를 불러오겠다라는 욕심을 부리다가 오류 발생. fetch join 문제)
- image와 category와 tag를 fetch join을 했음.
- org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags: [cohttp://m.eemgu.usedproducts.domain.Entity.SalesBoard.images, cohttp://m.eemgu.usedproducts.domain.Entity.SalesBoard.salesBoardCategories]
해결
- 쿼리 한 번에 데이터를 불러오는 것이 아닌 3개로 나누어주었다.
- 아직 게시물 데이터를 DB에 넣진 않아서 존재하지 않는 게시물이 반환되지만 DBE 오류는 해결함.(프론트까지 작성 후 DB에 데이터 삽입 예정)
'프로젝트' 카테고리의 다른 글
[오류] BeanCreationException (0) | 2024.04.07 |
---|---|
[개인] 이메일 인증 구현(Naver) #2 | 뜨거 (1) | 2024.02.07 |
[개인] 리액트 로그인 기능 구현 중 오류 |뜨거 (0) | 2024.02.01 |
[개인] 이메일 인증 구현(Naver) #1 + 오류 | 뜨거 (0) | 2024.01.28 |
[개인] 헤더 작성 중| 뜨거 (1) | 2024.01.23 |