Выполнить запрос, используя javax.ws.rs api без типа возврата - PullRequest
1 голос
/ 18 октября 2019

Я хочу выполнить запрос

SET SQL_SAFE_UPDATES = 0 ;

Что я обычно делаю для запроса на получение

public void setSafeMode() {
        Client client = ClientBuilder.newClient();
        Response response = client.target(URI.contextPathUI + "/api/orderbook/safeMode").request().get();
    }

На бэкэнд-контроллере

@GetMapping("/orderbook/safeMode")
    private void setSafeMode() {
        orderBookRepository.setSafeMode();
    }
@Repository
public interface OrderbookRepository extends JpaRepository<Orderbook, Integer>, JpaSpecificationExecutor {
    @Query(value="SET SQL_SAFE_UPDATES = 0 ; ", nativeQuery = true)
    void setSafeMode();
}

Я знаю, что это не должен быть запрос get, но у нас нет метода execute в этом API. Я ожидал выполнить этот запрос get и вернуть пустоту. Это дает ошибку

    "message": "could not execute query; nested exception is org.hibernate.exception.GenericJDBCException: could not execute query"

Я хочу знать, как выполнить простой запрос, который не возвращает что-то, И мне не нужно передавать объект или что-то еще (в отличие от меня в PUTили POST запрос), потому что это не логично. Этот запрос не требует никаких внешних входных данных, можно просто перестроить таблицу и вставить ее в другую таблицу.

1 Ответ

0 голосов
/ 18 октября 2019

Он работал, добавляя аннотации @Modifying и @Transactional к методу репозитория

@Modifying
@Transactional
@Query(value = "SET SQL_SAFE_UPDATES = 0;", nativeQuery = true)
void setSafeMode();**strong text**

Важные ссылки, чтобы узнать больше

Нужны ли нам аннотации @Transaction и @Modifyingвесной?

почему мы должны использовать аннотацию @Modifying для запросов в данных Jpa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...