728x90
반응형
# No results were returned by the query. 발생 시 해결방법
- 이전에 JPA에서 오류나서 처리한 내역은 아래와 같다. 처리 내용도 아래와 같다. 중복이다...ㅋㅋ
2022.08.26 - [⭐🌏 JPA/🌏 Spring Error] - [ERROR] No results were returned by the query.
API 개발을 하다보면, No results were returned by the query. 이와 같은 오류가 발생하는 경우가 많다.
주로 POST나 DELETE, PATCH를 할때 발생한다.
- 구글을 검색해보니 비슷한 오류를 겪는 사람들이 많더라...
https://okky.kr/articles/392777
1. 오류내용 보기
2. 해결방법
- 위의 OKKY의 댓글에서 알려준것 처럼 타입을 int형으로 바꾼다.
아래와 같이 서비스와 레파지토리의 타입을 int형으로 바꾼다.
UserService 의 내용
public GeneralResponse<?> delete_user(Long userid) {
int userEntityList = userRepository.delete_user(userid);
System.out.println(userEntityList);
return GeneralResponse.builder()
.status(true)
.message("Delete user")
.data("회원 정보가 삭제 되었습니다.")
.build();
}
- UserRepository 의 내용
@Transactional
@Query(value = "delete from user_table where userid = :userid", nativeQuery = true)
int delete_user(@Param("userid") Long userid);
3. 또다른 오류 발생
- 타입을 int형으로 바꿔도 계속 같은 오류가 발생 하였다. 그래서 다시 구글링...
https://bsssss.tistory.com/m/939
- 레파지토리에 아래와 같이 @Modifying 어노테이션을 추가하란다.
@Transactional
@Modifying
@Query(value = "delete from user_table where userid = :userid", nativeQuery = true)
int delete_user(@Param("userid") Long userid);
4. 결과 확인
정상적으로 처리됨... 이렇게 처리하는게 맞는건지는 잘 모르겠지만~
- 끝 -
728x90
반응형
'⭐🌏 JPA > 🌏 Native Query' 카테고리의 다른 글
Native Query를 통한 API 개발하기 [SELECT * FROM WHERE = {}] (0) | 2022.08.24 |
---|