민뭉아치
민뭉아치
민뭉아치
전체 방문자
오늘
어제
  • 분류 전체보기 (62)
    • ㅁㅁㅇㅊ's Life (0)
      • Diary (1)
      • Certification (6)
      • English (1)
      • 독서 (1)
    • Algorithm (25)
    • Web (2)
    • Language (3)
      • JavaScript (1)
      • JAVA (2)
    • Spring boot (9)
    • Cloud (0)
    • DevOps (1)
    • Trouble Shooting (6)
    • 개발환경 (3)
    • 짤막IT지식 (4)

블로그 메뉴

  • 홈
  • 깃허브
  • 방명록

공지사항

인기 글

태그

  • Spring
  • 백준알고리즘
  • 자격증
  • 코딩테스트
  • 알고리즘
  • 자바
  • Algorithm
  • Java
  • 정보처리기사
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
민뭉아치

민뭉아치

Trouble Shooting

Spring Boot Jpa IllegalArgumentException 에러

2022. 5. 18. 23:22

1. 문제 사항

상품 클래스와 카테고리 클래스가 1:N 으로 매핑된 상태에서 Jpa의 쿼리 메서드를 이용해 상품 클래스를 카테 고리별로 조회를 시도하던 도중 아래의 에러가 발생했다.

java.lang.IllegalArgumentException: Parameter value [1] did not match expected type ....

 

2. 원인

상품 클래스에서 지정된 카테고리의 타입과 다른 타입으로 조회를 시도하여 객체 타입이 바인딩이 되지 않아 발생되었다. 

 

ItemEntity.class

...
    @ManyToOne
    @JoinColumn(name = "category_id")
    private Category category; 
...

itemRepository.class

    List<Item> findAllByCategory(Long categoryId);

itemService.class

		Category category = this.categoryRepository.findByCategoryName(categoryName);
        this.itemRepository.findAllByCategory(category.getId()).forEach(item -> {
			....
        });

상품엔티티에서 카테고리의 타입은 객체타입인데 카테고리 아이디로 찾으려고 하니 문제가 발생한듯하다.

 

3. 해결

객체 타입으로 변경해 준 뒤 테스트를 하니 잘 작동하였다.

itemRepository.class

    List<Item> findAllByCategory(Category category);

itemService.class

		Category category = this.categoryRepository.findByCategoryName(categoryName);
        this.itemRepository.findAllByCategory(category).forEach(item -> {
			....
        });

 

4. 참고

 

OKKY | Spring boot + JPA 관련 질문있습니다!

현재 쇼핑몰 프로젝트 중에서, 장바구니에 담으려는 상품이 이미 장바구니 안에 존재한다면, 그 물건의 개수를 1 올려주는 로직을 짜고 있습니다. 하지만 이후 자꾸 java.lang.IllegalArgumentException: P

okky.kr

 

반응형

'Trouble Shooting' 카테고리의 다른 글

리소스를 HTTPS 프로토콜 호출로 인한 ERR_SSL_PROTOCOL_ERROR 발생, Mixed Content  (0) 2024.04.17
AWS EC2 Gradle 배포 시 멈춤현상  (0) 2022.05.04
QLRM 네이티브 쿼리 DTO type 오류  (0) 2022.04.14
Spring boot와 h2 Database 연동 오류발생  (0) 2022.04.10
[Hibernate Error] TransientPropertyValueException : object references an unsaved transient instance  (0) 2022.03.21
    'Trouble Shooting' 카테고리의 다른 글
    • 리소스를 HTTPS 프로토콜 호출로 인한 ERR_SSL_PROTOCOL_ERROR 발생, Mixed Content
    • AWS EC2 Gradle 배포 시 멈춤현상
    • QLRM 네이티브 쿼리 DTO type 오류
    • Spring boot와 h2 Database 연동 오류발생
    민뭉아치
    민뭉아치
    Do Better Today Than You Were Yesterday

    티스토리툴바