Transactions and Concurrency Control Patterns

Get the most out of your data access layer

Hibernate is the most popular JPA provider, and knowing its inner-workings can make the difference between a high-performance enterprise application and one that barely crawls.

Based on my book, High-Performance Java Persistence, this online workshop is meant to mind the gap between Java developers and database programming.

Agenda

In this workshop, we're going to talk about Transactions and Concurrency Control Patterns.

Therefore, we are going to cover the following topics:

  • ACID
  • Phenomena
    • Dirty Write,
    • Dirty Read,
    • Non-Repeatable Read,
    • Phantom Read,
    • Read Skew,
    • Write Skew,
    • Lost Update
  • 2PL (Two-Phase Locking)
  • MVCC (Multi-Version Concurrency Control)
  • Isolation levels and database concurrency control
  • Logical vs. physical clock optimistic locking
  • JPA physical and optimistic lock types
    • OPTIMISTIC
    • OPTIMISTIC FORCE INCREMENT,
    • PESSIMISTIC FORCE INCREMENT,
    • PESSIMISTIC READ,
    • PESSIMISTIC WRITE
  • Versionless optimistic locking
  • SKIP_LOCKED and queuing access
  • Preventing lost updates in long conversations
  • PostgreSQL advisory locks

Target audience

This online workshop is for any Java developer that happens to develop software that interacts with a relational database system.

After attending this workshop, you'll know all sorts of tips that you can readily apply to your current enterprise project.


Created By


Vlad Mihalcea
Vlad Mihalcea

Vlad Mihalcea is a Java Champion and one of the top Hibernate ORM project committers. He created the Hypersistence Optimizer tool which scans your application configuration and mappings and tells you what changes you need to do to speed up your data access layer.

He's been answering thousands of questions about Hibernate and JPA on StackOverflow for which he's got gold badges for Hibernate, Java, and JPA tags.

Whenever he finds something interesting, he likes to share it on his personal blog. He believes in Open Source Software, and he thinks every developer should get involved, one way or the other.

If he doesn’t find a suitable tool for a job, he takes initiative and starts a new open source project, like Hibernate Types or FlexyPool.


Course Curriculum


  Transactions and Concurrency Control Patterns
Available in days
days after you enroll

Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.