Hibernate Core 4 introduced
The Hibernate developers have released version 4.0 of their Hibernate Object/Relational Mapping (ORM) framework. The developers decided, for a number of reasons, not to implement a redesign of the Hibernate metamodel (org.hibernate.mapping), which was originally scheduled for Hibernate Core 4, and focused instead on introducing a new service management system, adding multi-tenancy support and cleaning up obsolete classes and methods.
Hibernate Core now allows multi-tenancies to be created in three different ways. One approach is to use multiple separate database instances; tenants then each have access to their own DB instance. Another approach is to create multiple DB schemas – in this case, the tenants share an instance and each access the database via their own schema (or catalogue). The third approach, partitioning, allows tenants to access a shared database via a shared schema. All data is stored in a single table, and each tenant's data is partitioned from the others by having their data assigned particular "discriminator" values. The developers discuss further aspects of Hibernate's multi-tenancy design in an FAQ.
The ServiceRegistry API is also new in Hibernate Core 4. It describes a new way for Hibernate to establish and manage services. Services are now managed in hierarchical registries and can, for example, access other services in the same registry or any parent registries. Logging with i18n support and message codes has also been implemented in the new release.
Comprehensive documentation is still in preparation and, at present, only the Quick Start Guide and the Migration Guide reflect Hibernate 4's features. A first development schedule towards Hibernate 5 already exists which will see the deferred metamodel changes implemented. The developers say that they initially plan to release a Hibernate 4.1 in the meantime which will implement features such as "natural-id loading" (see HHH-2879 and HHH-2896), improve cascade performance and "get the docs straightened out".