【发布时间】:2019-04-03 16:53:15
【问题描述】:
我在 Spring 数据 JpaRepository 中有一个查询,如下所示:
@Lock(value = LockModeType.PESSIMISTIC_WRITE)
@QueryHints({@QueryHint(name = "javax.persistence.lock.timeout", value = "70000")})
Collection<AnyCLass> findBy ...
但是,在我的测试中,如果我在两个并发线程中运行事务(使用此查询作为第一个查询),我会在一秒钟后获得 SQL 锁定超时 (SQL Error: 50200, SQLState: HYT00),这是 H2 的默认设置在记忆中。
如果事务更快,那么一秒钟一切都会按预期进行。
【问题讨论】:
标签: concurrency spring-data-jpa locking