gpt4 book ai didi

java - 使用 javax.ws.rs api 执行不带返回类型的查询

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:57 25 4
gpt4 key购买 nike

我希望执行查询

SET SQL_SAFE_UPDATES = 0 ;

我通常对 get 请求做什么

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

在后端 Controller

@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 请求,但我们在这个 api 中没有执行方法。我期望运行这个 get 请求并返回一个 void。它给出了一个错误

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

我想要的是知道如何执行一个不返回某些内容的简单查询,并且我不必传递实体或其他任何内容(与 PUT 或 POST 查询中必须的不同),因为它不符合逻辑。该查询不需要任何外部输入,只需重建一个表并将其插入另一个表即可。

最佳答案

它的工作原理是向存储库方法添加 @Modifying 和 @Transactional 注释

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

了解更多信息的重要链接

Do we need both @Transaction and @Modifying annotation in Spring?

why do we have to use @Modifying annotation for queries in Data Jpa

关于java - 使用 javax.ws.rs api 执行不带返回类型的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com