You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spring Boot的application.yml中配置pessimistic_write锁默认超时时间

正确配置方式

Spring Boot中所有JPA实现的原生属性都需要放在spring.jpa.properties子层级下,你之前配置不生效的原因是属性层级错误,未放到Spring Boot约定的属性传递路径下。
正确的application.yml配置如下:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testing
    username: test
    password: test123
  jpa:
    show-sql: true
    properties:
      # 悲观锁超时配置,单位为毫秒
      javax:
        persistence:
          lock:
            timeout: 1000
补充说明
  • 如果你使用的是基于Jakarta EE的新版本Spring Boot(3.x及以上),属性名需要替换为jakarta.persistence.lock.timeout,配置层级保持不变即可。
  • 如果你需要的是全局查询超时而非单独的锁超时,替换对应属性为javax.persistence.query.timeout即可,配置逻辑一致。
  • 该配置为全局默认值,如果在具体查询方法上通过@QueryHints注解单独指定了超时参数,会优先使用方法级别的配置。
  • 配置生效的前提是你使用的数据库引擎支持行锁超时,例如MySQL需要使用InnoDB引擎。

内容的提问来源于stack exchange,提问作者BlaMath20

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:54:02