Optimize Java persistence with Hibernate caching, mapping, and performance tuning
This training course focuses on classic performance issues related to object-relational mapping and explains how to resolve them using advanced Hibernate concepts. These concepts enable you to optimize performance while leveraging the various caching mechanisms offered by Hibernate.
Is it for you ?
Engineers, architects, project managers
Prerequisites
Good basic knowledge of Hibernate. Very good knowledge of the Java language
What You'll Walk Away With
- ✓ Optimize data loading using appropriate fetch strategies (join, batch, subselect)
- ✓ Configure and leverage Hibernate caching layers to improve application performance
- ✓ Manage transactions and concurrency with optimistic and pessimistic locking
- ✓ Model complex associations and inheritance with advanced mapping techniques
- ✓ Monitor and analyze performance using Hibernate metrics and tools
Training content
1 Issues related to data loading
- Issues related to data loading, impedance mismatch, fetch strategies.
- Loading by select and subselect.
- Loading by join, by batch.
2 Using Hibernate caches
- Session cache
- Second-level cache
- Mapping cache
- Cache strategies
- Advantages and disadvantages of different implementations
- Query cache
3 Data sharing
- Transactions and access concurrency.
- Optimistic/pessimistic locking
- Clustering
- JBossTreecache
4 Optimizing associations
- Implementing bidirectional associations.
- Managing the inverse attribute
- Polymorphic associations.
5 Mapping class inheritance
- Types of inheritance.
- One table per class hierarchy.
- One table per subclass.
- One table per concrete class.
- Implicit polymorphism.
6 Performance monitoring
- Identifying and activating metrics.
- Accessing metrics (SessionFactory).
- Publishing metrics via JMX.
7 Related projects
- Hibernate Validator.
- Hibernate Search.
- Hibernate Shards.
📌 Practical information
Our training sessions are offered in Montreal or Quebec City, in person or in a virtual classroom. Dates and locations are specified when you select your session below. If you have any questions, check out our FAQ.