This training covers the way the Spring Framework lets you control transactions in your application, offering many practical advice directly applicable to real-world projects. The topics covered go beyond just understanding how to use @Transactional, diving into the internals of Spring implementation, Hibernate integration and performance concerns.

During this intense 3.5 hours video course we'll walk through a series of increasingly complex exercises that demonstrate the features that we study. If any concept remains unclear after watching the video, your are invited to ask any questions.


  • DB Transaction - ACID attributes
  • Transaction propagation - practical tips
  • When is a transaction rollbacked
  • @Transactional internals - proxies, thread locals, pitfalls, programmatic alternative
  • Nested transactions - best practices and pitfalls
  • Performance - monitoring and tuning transaction size
  • Hibernate/JPA Integration: read-write cache, auto-flushing, lazy-loading, streaming queries

What to expect?

The course if extremely hands-on, composed of a series of live-coding exercises through which we will explore and demonstrate the topics we discuss. Then, any tricky concept we encounter is explained via a series of fine-tuned slides.

After purchase you'll get access to the video recording, slides and zipped code so that you can repeat all the work on your local machine too.

This Training is for you because:

  • You are working with Spring and you are persisting data in a Relational Database
  • You are new to Hibernate and you want to understand an essential part of the Entity Manager runtime behavior
  • You want to know more about the internals of @Transactional


  • Working knowledge of the Java language.
  • Prior practical experience with a relational database is recommended.
  • Prior contact with Hibernate is nice to have.

Technical Requirements

To solve the exercises yourself, you will need a Java 8+ SDK installed (latest Oracle JDK will do), a decent IDE (preferably IntelliJ Community or Ultimate), and access to GitHub and Maven Central.

Course Curriculum

Trainer: Victor Rentea

Victor Rentea is a Java Champion, Associate Professor and Technical Trainer writing code for over two decades in many languages.

He is training developers since 2012, having developed an extensive curriculum that covers most of the software engineering best practices and typical Java-stack development. By now he trained over 2000 developers in 40+ companies, and you can read dozens of their recommendations on LinkedInFacebook, and on

Victor is best known for the energy of his talks, many ranked among the best 3 at their conference. You can expect a similar style for any training he gives while explaining complex concepts in simple, easy to remember terms. If you want to keep close, you can join the Software Craftsmanship Community he founded in Romania or follow him on LinkedIN, Twitter, or Facebook.

Get Access

Frequently Asked Questions

Can I get an invoice for my company (VAT-free)?

To add the VAT code of your company to the checkout page and remove the VAT taxes, follow these simple steps.

Can I ask questions after I watch the recording?

PLEASE DO! Email me your questions, no matter how silly or complex you may think they are. I'd be glad to help, so don't hesitate to contact me.

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.

Can I have this training for more of my colleagues?

There are two ways I can help you:

  • For 5+ developers, contact me for a discount and a company invoice
  • For 10+ developers or for a longer in-depth session, contact me for a dedicated webinar for your company.