JPA 查询中的超时

Timeout in JPA queries

提问人:Stephan 提问时间:1/14/2021 更新时间:3/1/2021 访问量:2583

问:

我正在我们的应用程序中使用 spring data jpa。 如果数据库没有响应,我想抛出超时异常。 我们如何在不使用实体管理器的情况下在简单的 jpa 查询中设置超时?

问候 斯蒂芬

spring-boot jpa spring-data-jpa settimeout timeoutexception

评论

0赞 Jens Schauder 1/14/2021
这回答了你的问题吗?如何设置 JPA EntityManager 查询的超时期限
0赞 Stephan 1/20/2021
你好,谢谢你的回复。我没有使用实体管理器。我正在使用简单的 JPA 查询。此外,我正在使用带有 Spring Cloud Connector 的 Spring Boot。因此,我尝试了以下方法:spring.jpa.properties.javax.persistence.query.timeout:0 spring.datasource.hikari.connection-Timeout:0,但它没有帮助。

答:

0赞 Faramarz Afzali 3/1/2021 #1

你试过吗?spring.jpa.properties.javax.persistence.query.timeout=60000application.properties

如果您的问题仍然存在,请尝试添加 Spring Transaction 注解,如以下代码所示。

@Transactional(timeout=10)
@Override
public List<EntityModel> function(EntityModel model) {

}