Spring Data JDBC的@Lock注解存疑:文档与实际库不符?
问题解答
这是文档版本与你使用的Spring Data JDBC版本不匹配导致的问题,并非你遗漏了内容,具体说明如下:
- Spring Data JDBC对
@Lock注解的支持是从3.0.x版本开始引入的,你使用的2.4.5属于2.x分支,这个版本的库确实没有实现该注解的相关功能,@Lock在这个阶段仅属于Spring Data JPA的特性。 - 你查看的官方文档是「current」(当前稳定版),对应的是3.x及以上版本的Spring Data JDBC,所以文档中会标注支持
@Lock;如果需要查看与2.4.5匹配的文档,需要切换到对应2.4.x版本的文档分支,其中不会提及@Lock注解的支持。
解决方案
- 若需要使用
@Lock注解实现锁定,可将Spring Data JDBC升级到3.0及以上版本; - 若无法升级版本,可通过自定义SQL语句手动实现行锁(例如在查询中添加
SELECT ... FOR UPDATE这类数据库原生锁语句)。
内容的提问来源于stack exchange,提问作者findusl
相关产品推荐
相关产品推荐

