The Best Way to Map Entities with Java Persistence and Hibernate
Get the most out of your data access layer
Watch Promo
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, I'm going to present The Best Way to Map JPA and Hibernate Entities.
Therefore, we are going to discuss:
- What are the basic entity types and how to choose column types for best performance
- How to use database-specific column types like JSON, ARRAY, HStore, Inet, and more
- What are entity identifiers and what auto-generation strategies are offered by JPA
- What are Hibernate natural identifiers
- How the Hibernate sequence optimizers work
- Why you should avoid the TABLE GenerationType strategy
- Database table relationships (e.g., one-to-many, one-to-one, many-to-many)
- How does the JPA @ManyToOne relationship work
- How does the JPA @OneToMany relationship work
- Unidirectional vs. bidirectional @OneToMany collections
- How to synchronize both sides of a bidirectional association
- How does the JPA @ManyToMany relationship work
- How to map additional columns for a @ManyToMany relationship
Target audience
This workshop is for any Java developer that happens to develop software that interacts with a relational database system.
After watching it, you'll know all sorts of tips that you can readily apply to your current enterprise project.
Created By
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.
Frequently Asked Questions
Great workshop!
Vlad guides you from basics to very complex topics with ease. He explains everything in a very detailed way and does his best to answer all your questions.
- Giseth Johana Grimaldo, Software Developer - Universidad Tecnológica de Pereira