Transactions and Concurrency Control Patterns


ssj Server Side

Room 2

Thursday from 10:20 til 11:10

Transactions and Concurrency Control are very of paramount importance when it comes to enterprise systems data integrity.

However, this topic is very tough since you have to understand the inner workings of the database system, its concurrency control design choices (e.g. 2PL, MVCC), transaction isolation levels and locking schemes.

In this presentation, I'm going to explain what data anomalies can happen depending on the transaction isolation level, with references to Oracle, SQL Server, PostgreSQL, and MySQL.

I will also demonstrate that database transactions are not enough, especially for multi-request web flows.

For this reason, I'm going to present multiple application-level transaction patterns based on both optimistic and pessimistic locking mechanisms.

Vlad Mihalcea Vlad Mihalcea

Vlad Mihalcea is Hibernate Developer Advocate working for Red Hat.

He is passionate about enterprise systems, data access frameworks and distributed systems.

He wrote over 80 articles about Hibernate on, and he has a gold badge for the Hibernate tag on StackOverflow.

He's also the author of "High-Performance Java Persistence" (