Course : Hibernate, advanced implementation

Practical course - 2d - 14h00 - Ref. BER
Price : 1500 CHF E.T.

Hibernate, advanced implementation




Mapping between the rows of a relational database and the objects of the persistence layer is today a key Design Pattern of the Object paradigm. In the Java world, efficient mapping requires a thorough understanding of the Hibernate framework, with its many features.


INTER
IN-HOUSE
CUSTOM

In person or remote class
Available in English on request

Ref. BER
  2d - 14h00
1500 CHF E.T.




Mapping between the rows of a relational database and the objects of the persistence layer is today a key Design Pattern of the Object paradigm. In the Java world, efficient mapping requires a thorough understanding of the Hibernate framework, with its many features.


Teaching objectives
At the end of the training, the participant will be able to:
Implement different loading strategies
Implement session cache and second-level cache.
Setting up a "clustered" cache with JBoss TreeCache
Implementing class inheritance mapping
Optimizing associations
Monitoring the performance of a Hibernate application

Intended audience
Engineers, architects, project managers.

Prerequisites
Good basic knowledge of Hibernate. Very good knowledge of Java.

Course schedule

1
Loading strategies

  • Data loading issues, impedance mismatch, fetch strategies.
  • Loading by select and sub-select.
  • Loading by join, by batch.
Hands-on work
Implementation of different loading strategies. Study of different loading anomaly cases.

2
Cache mechanisms

  • Cache management. Session cache.
  • Second-level cache, configuration (cluster or JVM cache), cache types (EHCache, JBossTreeCache...).
  • Cache mappings.
  • Different strategies: read-only, read/write, non-strict read/write, transactional.
  • Compatibility between caches and concurrency strategies. The query cache.
Hands-on work
Implementation of session cache and second-level cache.

3
Data sharing

  • Competing transactions and access.
  • Optimistic control of competition.
  • Pessimistic locking. Clustering.
Hands-on work
Optimistic locking use case. Setting up a "clustered" cache with JBoss TreeCache.

4
Optimizing associations

  • Management of bidirectional associations.
  • Mapping attribute " inverse".
  • Polymorphic associations.
Hands-on work
Handling bidirectional associations.

5
Class inheritance mapping

  • Inheritance strategies.
  • One table per class hierarchy.
  • One table per subclass.
  • One table per concrete class.
  • Implicit polymorphism.
Hands-on work
Implementation and structural analysis of different inheritances.

6
Performance monitoring

  • Activate metrics (statistics).
  • The different metrics available.
  • Access to metrics (SessionFactory).
  • Publication of metrics via JMX.
Hands-on work
Analysis of different metrics.

7
Ancillary projects

  • Hibernate Validator. Hibernate Search. Hibernate Shards.
Hands-on work
Validation implementation. Activate/deactivate validation. Triggering autonomous validation. Implementing Hibernate Search queries. Shards implementation and discussion.


Customer reviews
5 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
LAURIANNE M.
16/10/25
4 / 5

For my level, the course provides a lot of new knowledge and is very comprehensive.
ARNAUD M.
16/10/25
4 / 5

I would have liked more in-depth coverage of complex Hibernate topics and points, rather than a lot of reminders of points I took for granted. The trainer was clearly willing and interested in the subject.
YANN O.
16/10/25
3 / 5

The trainer is clearly competent in his subject. On the other hand, the methodology is far too academic and doesn't offer any real added value compared to a study of the documentation. For a so-called 'advanced' course, you would expect to study concrete issues using a complete project and case studies.



Publication date : 08/09/2024


Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 25 to 26 June 2026
FR
Remote class
Registration

REMOTE CLASS
2026 : 25 June