H2 Database の明示的ロック

H2 Database には、行レベルロックはない。テーブルレベルロックのみ。
並列性は低くなるものの、処理が高速になるので、テーブルレベルロックのみにしているようです。

別途、MVCC (Multi-Version Concurrency Control) という仕組みが開発されているようですが、まだテストが十分でないとのことです。

SQL テーブルレベル
SELECT FOR UPDATE EXCLUSIVE
UPDATE, INSERT, DELETE EXCLUSIVE

ロックは SHARED と EXCLUSIVE の2種類のみ。
EXCLUSIVE LOCK を獲得するとリリースされるまで、ロックを要求する他のトランザクションは待たされます。

http://www.h2database.com/html/advanced.html#transaction_isolation