У меня есть запрос в JpaRepository данных Spring, например:
@Lock(value = LockModeType.PESSIMISTIC_WRITE)
@QueryHints({@QueryHint(name = "javax.persistence.lock.timeout", value = "70000")})
Collection<AnyCLass> findBy ...
Однако в моем тесте, если я запускаю транзакцию (которая использует этот запрос в качестве первого запроса) в двух параллельных потоках, яполучите тайм-аут блокировки SQL (SQL Error: 50200, SQLState: HYT00
) через одну секунду, что является значением по умолчанию для H2 в памяти.Если транзакция быстрее, чем одна секунда, все работает как ожидалось.