More than half of the Java projects today are persisting their data using JPA, commonly using Hibernate as the implementing library. One could say that the Spring/Hibernate combo has become the standard stack of modern Java backend applications.
The training sessions I run worldwide showed me that despite its widespread use, most developers are unaware of the exact behavior of Hibernate, nor do they realize the alternatives they have in the design of their entities. Writing projects without mastering their ORM leads to unexpected performance issues, or (even worse) to an anemic, weak domain model closely coupled to the database schema structure.
This training covers the fundamentals of ORM modeling and the essential runtime behavior that you need to understand when working with your entities.
This 3.5 hours live webinar will take place on July 1th, 2022, between 14:00 - 17:30 Bucharest time (click here to convert it to your timezone).
Agenda
Object-Relational Mapping Best Practices (2 hours)
- Basic Fields and Enums
- Custom Hibernate Type Mappers
- Strategies to store large objects
- Mapping Relations
- Polymorphic Entities
- Mastering Embeddables
ORM Runtime (1.5+ hours)
- Entity Lifecycle
- Id generation techniques (with pitfalls)
- Cascading and orphanRemoval
- Lazy-loading
- Merge
- Concurrency control with optimistic locking
What to expect?
The training follows the agenda using a series of experiments to observe the runtime behavior, design alternatives, and pitfalls. There will be code on the screen for more than 80% of the time. The slides are crafted so they can be later used as a reference and are packed with links that allow you to further research the topics you need.
After following this workshop you will:
- Be able to use different modeling techniques with JPA
- Understand the exact lifecycle of your entities
- Master advanced features of JPA and Hibernate to ease your development
The discussion will be very interactive and entertaining, so be prepared to ask as many questions as you can.
After the live session ends you will get: the video recording, all the slides, and the code zipped together with Git commit history. Starting from the commits we’ll leave behind, you will be able to re-do and further explore any step of our journey (the best learning happens this way). If you encounter any issues, please .
This Training is for you because ...
- You are using JPA on your project but you feel you don't really understand what happens under the hood.
- You want to explore alternative modeling options for your domain entities.
- You want to write efficient and elegant code with Hibernate.
Prerequisites
- Practical experience with Hibernate/JPA is recommended.
- Understanding how transactions work with Spring and Hibernate - one option is to follow my other video course Transactions in Spring.
Preparation
To maximize your learning, it is recommended to (try to) solve the following exercise in advance, before the start of the webinar. In essence, your task would be to add all necessary JPA annotations to make an entity model persistable by Hibernate:
https://github.com/victorrentea/jpa-assignment/
Technical Requirements
The webinar will take place on Zoom, so for the best experience please have the app installed on your machine. To enjoy crystal-clear audio, make sure you use a wired internet connection (Ethernet) and avoid connecting over a VPN.
To perform the exercises yourself, you will need a Java 11+ SDK installed (latest Oracle JDK will do), a decent IDE, 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. You can read dozens of recommendations from the developers he trained on LinkedIn and on victorrentea.ro.
Victor is best known for the energy of his talks, many ranked among the best at their conference. You can expect a similar style here, explaining complex concepts in simple, easy-to-remember terms.
Get Access
Frequently Asked Questions
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.
Can I get an invoice for my company?
Payments are handled by Onelink, Stripe's reseller, which emails you the receipt. For a company invoice, contact Onelink starting from that receipt email.
I bought this course on Teachable. Do I pay again?
No. Every Teachable purchase was carried over: get your access link with the email you used there.
