Philipp Frauenthaler & Gregor Lucny
Hibernate: How to keep calm
#1about 6 minutes
Why you should use an ORM like Hibernate
Using an object-relational mapper (ORM) like Hibernate simplifies database access in Java by handling boilerplate code, type conversions, and transaction management that is complex with plain JDBC.
#2about 3 minutes
Mapping Java classes and the entity lifecycle
Entities move through transient, managed, and detached states, where changes to managed entities are automatically persisted to the database upon transaction commit.
#3about 2 minutes
Understanding Hibernate's caching layers
Hibernate uses a mandatory Level 1 cache scoped to the transaction to reduce database roundtrips, with an optional Level 2 cache for data shared across transactions.
#4about 3 minutes
Integrating Hibernate with Spring and Spring Data JPA
Spring Boot simplifies Hibernate configuration and transaction management, while Spring Data JPA further abstracts data access by generating repository implementations from interfaces.
#5about 3 minutes
Keeping your database schema in sync with Liquibase
Use a database migration tool like Liquibase and its diff plugin to automatically generate and apply schema changes based on your JPA entities, ensuring consistency.
#6about 3 minutes
Choosing an effective ID generation strategy
Client-generated UUIDs are often preferable to database auto-incrementing IDs because they are available before persistence and simplify data copying between environments.
#7about 3 minutes
Implementing equals and hashCode for JPA entities
Avoid using all properties in `equals` and `hashCode` for entities due to lazy loading and lifecycle issues; instead, base equality on the stable primary key.
#8about 5 minutes
Solving the N+1 query problem with join fetch
Prevent the N+1 query problem caused by lazy loading by using `JOIN FETCH` in your JPQL query to load related entities in a single database trip.
#9about 4 minutes
Processing large datasets with streaming and detaching
Handle large result sets efficiently by streaming data from the database and detaching processed entities from the session to prevent high memory consumption.
#10about 3 minutes
Managing transactions with external systems
Ensure data consistency with non-transactional systems like REST APIs by registering custom rollback actions using Spring's `TransactionSynchronizationManager`.
#11about 2 minutes
Automating actions with Hibernate entity listeners
Use Hibernate's entity listener hooks like `@PostPersist` and `@PostUpdate` to automatically trigger actions, such as sending messages to a message broker, when an entity changes.
#12about 16 minutes
Key takeaways for using Hibernate effectively
While Hibernate improves development efficiency, it is crucial to analyze the generated SQL, understand its internal workings, and recognize when it may not be the right tool for the job.
Related jobs
Jobs that call for the skills explored in this talk.
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
Matching moments
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
04:22 MIN
Why HR struggles with technology implementation and adoption
What 2025 Taught Us: A Year-End Special with Hung Lee
02:43 MIN
The essential skills for HR to become a business partner
From Data Keeper to Culture Shaper: The Evolution of HR Across Growth Stages
03:07 MIN
Final advice for developers adapting to AI
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
03:34 MIN
The business case for sustainable high performance
Sustainable High Performance: Build It or Pay the Price
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
01:54 MIN
The growing importance of data and technology in HR
From Data Keeper to Culture Shaper: The Evolution of HR Across Growth Stages
05:17 MIN
Shifting from traditional CVs to skill-based talent management
From Data Keeper to Culture Shaper: The Evolution of HR Across Growth Stages
Featured Partners
Related Videos
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
Bootiful Spring Boot 3
Josh Long
Our journey with Spring Boot in a microservice architecture
Michael Eder & Philipp Frauenthaler
Slip Through the Boundaries of Legacy Systems with Kotlin and Spring WebFlux
Lukas Georgieff & Alberto Gisbert
Write tests you love, not hate
Jens Happe
Going reactive with Spring WebFlux
Michael Eder & Philipp Frauenthaler
Debugging Unveiled: Exploring Debugger Internals and Hidden Gems
Johannes Bechberger
Modern Java: This is not your father's Java anymore
Ron Veen
Related Articles
View all articles


.gif?w=240&auto=compress,format)
From learning to earning
Jobs that call for the skills explored in this talk.

Murex
Paris, France
Junior
C++
GIT
Java
Jenkins
Hibernate
+2



Haufe-Lexware GmbH & Co. KG
Freiburg im Breisgau, Germany
Remote
Senior
Java
REST
Scrum
React
+4


KA RESOURCES
Köln, Germany
Remote
Intermediate
CSS
GIT
HTML
Java
+10



Hiebler & Partner Personal- & Projektmanagement GmbH
Gleisdorf, Austria
Remote
€42K
API
Java