Hibernate revient en version 7.4
lun, 01/06/2026 - 15:49
Hibernate, un des ORM les plus connus, revient en version 7.4. Elle propose plusieurs nouveautés :
- annotation @Temporal pour le mapping des données temporelles et requêtes basées sur l'effectivité temporelle
- annotation @Audited pour mapper des données dont les modifications sont suivies dans un journal d'audit séparé
- les données temporelles peuvent mappées vers des tables temporelles natives, une table unique avec des colonnes d'effectivité ou encore dans une table contenant des données effectives. Les données temporelles historiques peuvent être requêtées à une date/heure d'effectivité donnée.
L'autre nouveauté importante concerne "limit" et le Fetch Joins. Il est possible de combiner une limite HQL, ou une pagination via setMaxResults() avec une collection join fetch sur toute base de données supportant les limits et les offsets dans les sous-requêtes. De même, vous pouvez utiliser, en toute sécurité, une collection join fetch avec getResultStream() ou un scroll(). Vous pouvez utiliser l'ancien comportement avec org.hibernate.LimitInMemory.
Quelques autres nouveautés :
- le nouveau mode CacheMode.REFRESH_SESSION peut être passé en option à EntityManager.find() ou par requêtes via SelectionQuery.setCacheMode().
- le module reverse engineering est intégré à Hibernate. Il est disponible sous forme de plugin pour Gradle, Mavent et Ant. Ce module peut générer des classes entités Java, des classes DAO, des scripts DDL
- le plugin Maven peut transformer les anciens fichiers hbm.xml en mapping.xml.
- les interfaces SPI BatchBuilder, StatisticsFactory, MutationExecutorService et SchemaManagementTool sont maintenant des services Java
Note de version complète : https://docs.hibernate.org/orm/7.4/whats-new/
Les équipes d'IntelliJ IDEA expliquent une partie des nouveautés d'Hibernate dans ce post : https://blog.jetbrains.com/idea/2026/05/hibernate-7-4-new-features/

