I am a little bit late, but Hibernate 4 has been released a few days ago:
A lot of things; too many to list here. But here is a list of the major improvements done in 4.0:
- Initial multi-tenancy support. See http://in.relation.to/Bloggers/HibernateAndMultitenancyWebinar and http://in.relation.to/Bloggers/MultitenancyInHibernate for more information.
- Introduction of ServiceRegistry. This is a major change in how Hibernate builds and manages services. See the information in the Hibernate Developer Guide.
- Clean up of Session opening from SessionFactory
- Improved integration via org.hibernate.integrator.spi.Integrator and auto discovery
- Improved logging with i18n support and message codes
- Initial work on more clear split between API, SPI and implementation classes. If you import a class contained in an internal package, you know that this code is not guaranteed to work between releases.
- Clean up of deprecated methods, classes, etc
Along with the core release, the hibernate search project also updated to the version 4.
The Springframework release 3.1 a few days ago, among many other features, also introduced hibernate 4 support.
After reading the “new and noteworthy” postings, it gets quite clear that there has been a lot of groundwork been done by all the development teams.
Especially the multi-tenancy support is something to keep an eye on. Here is a nice definition of multi-tenancy I found on an article about the gae app engine:
Multitenancy is a software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants). With a multitenant architecture, an application can be designed to virtually partition its data and configuration (business logic), and each client organization works with a customized virtual application instance. It suits SaaS (Software as a Service) cloud computing very well; however, they can be very complex to implement.