728x90

스프링 부트로 API를 만들고 있었다.

@GetMapping, @PutMapping, @PostMapping 어노테이션을 붙여서 조회, 삽입, 수정하는 API는 잘 만들었고 Postman을 이용하여 API 테스트까지 완료했다.

이렇게 필요한 거의 모든 API 구현이 거의 끝나가고 이제 삭제하는 API도 넣어야겠다 하고

이렇게 Get, Put, Post 하던 방식과 같은 방식으로 @DeleteMapping을 붙이고 삭제하는 API를 구현했다.

 

그 다음에 하던대로 Postman을 이용해서 API 테스트를 하는데

 

이런 에러가 났다.

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call] with root cause


javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call

찾아봤더니 delete 하는 메소드에 @Transactional 어노테이션을 붙여줘야 한다고 한다.

 

붙여줬더니

이렇게 삭제가 멀쩡히 잘 되는 것을 볼 수 있다.

 

출처

https://yoonho-devlog.tistory.com/61

 

728x90

+ Recent posts