이슈
👉 org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2
jakarta.persistence.NonUniqueResultException: query did not return a unique result: 2
이것은 데이터베이스 쿼리가 예상대로 결과를 반환하지 않고, 유일한 결과가 아닌 둘 이상의 결과를 반환했음을 나타냅니다.
에러
👉 이 오류 메시지는 Spring Data JPA와 Hibernate를 사용하여 데이터베이스 쿼리를 실행하는 과정에서 발생한 예외 메시지입니다. 단일 결과가 예상되는 쿼리에서 둘 이상의 결과가 반환된 경우: 데이터베이스에서 특정 쿼리를 실행할 때 예상과 다르게 여러 개의 결과가 반환되는 경우가 있습니다. 이 경우 Spring Data JPA가 예외를 던지고 쿼리가 유일한 결과를 반환해야 한다는 것을 나타냅니다.
해결
👉이미 데이터가 들어간 DB를 update로 수정하여 @Column(unique = true)를 부여하면 반영되지 않습니다.
기존 데이터 정리: 데이터베이스에서 중복된 userId 값을 확인하고 제거하거나 수정하여 중복을 제거하거나
jpa:
hibernate:
ddl-auto: update
yml파일에서 DB설정을 create로 바꾼 후 user_id를 @Column(unique = true) 설정하여 단일값을 조회하는 @PathVariable이 될 수 있도록 수정함.
'TIL > 트러블슈팅' 카테고리의 다른 글
[Node] getaddrinfo ENOTFOUND your-proxy-server (0) | 2024.02.28 |
---|---|
[SpringBoot] No acceptable representation (1) | 2024.02.09 |
[Docker] Docker failed to initialize (0) | 2023.12.12 |
[Docker] denied: requested access to the resource is denied (2) | 2023.11.26 |
Spring Cloud Gateway yml 파일 필터 설정 Refresh routes error (0) | 2023.10.19 |