Spring boot design удалить RESTful API через JPA получил ошибку

Мне нужен API для удаления дизайна, но я получил ошибку. Я до сих пор не понимаю, где было не так. Репозиторий:

public interface ProductRepository extends JpaRepository<Product, Integer> {
    @Modifying
    @Query(nativeQuery=true, value = "delete from product where productid = ?1")
    void deleteProductByProductID(int productID);
}

Контроллер:

@DeleteMapping(path = "/delete/{id}")
public @ResponseBody
    void deleteProduct(@PathVariable("id")int productID) {
    productRepository.deleteProductByProductID(productID);
}

Ошибка теста API:

{
    "timestamp": "2018-04-08T08:46:15.639+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "could not extract ResultSet; nested exception is org.hibernate.exception.GenericJDBCException: could not extract ResultSet",
    "path": "/v1/product/delete/30"
}

Ошибка IDE:

2018-04-08 01:36:26.890 WARN 13629 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S1009 2018-04-08 01:36:26.890 ERROR 13629 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Can not issue data manipulation statements with executeQuery(). 2018-04-08 01:36:26.906 ERROR 13629 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not extract ResultSet; nested exception is org.hibernate.exception.GenericJDBCException: could not extract ResultSet] with root cause

JpaRepository уже имеет метод deleteById. Почему вы чувствуете, что вам нужен еще один?

crizzis 08.04.2018 11:12

Они такие же, я знал это и пытался использовать, но у меня такие же проблемы.

LeonSaber 08.04.2018 11:25

Вам необходимо добавить @Modifying в свой метод, поскольку в настоящее время он пытается выполнить обновление с использованием неправильного API. Однако deleteById уже знает лучше, поэтому я сомневаюсь, что вы получаете точно такое же исключение.

crizzis 08.04.2018 11:32

Извините, я ошибся при копировании и вставке моего фрагмента кода, я пропустил @Modifying.

LeonSaber 08.04.2018 11:38
0
4
491
0

Другие вопросы по теме