Red Hat

In Relation To Releases

In Relation To Releases

Hibernate Core 4.0.0.Beta1 Release

Posted by    |       |    Tagged as Hibernate ORM Releases

Hibernate Core 4.0.0.Beta1 has just been released. The complete list of changes can be found in JIRA release notes

As this is a Beta, we expect the API to be pretty much complete. At this point most of the work is going into the newly redesigned metamodel which is the representation into which Hibernate parses user provided metadata (XML and annotations) before building a SessionFactory. As we finish up that work in the coming weeks there may be adjustments to those contracts. However, most users will not leverage those contracts anyway.

As the redesigned metamodel is still being finished up and is currently likely to only work on simple domain models we have decided to delay removal of the org.hibernate.cfg.Configuration class and that method of building a SessionFactory until this work is done. So both approaches are available in parallel for the time being.

The release is available from SourceForge in bundle form as well as from the JBoss Nexus repository under the org.hibernate groupId.

Hibernate Core 3.6.5.Final

Posted by    |       |    Tagged as Hibernate ORM Releases

Hibernate Core 3.6.5.Final is mainly a maintenance release with a couple of improvements.

Of interest are:

  • HHH-2225 caused a NullPointerException when a native SQL query was used to eager fetch a joined component.
  • HHH-6219 caused a memory leak when using Infinispan cache.
  • HHH-5598 improves support for Sybase; more information about Hibernate/Sybase integration can be found here.
  • Several Envers bugfixes and improvements.

For more details about Hibernate 3.6.5-Final, see the release notes.

The artifacts have all been published to the JBoss Nexus repository under the org.hibernate grouIUd.

The release bundles have been uploaded to SourceForge.

Hibernate Core 4.0.0.Alpha3 release

Posted by    |       |    Tagged as Hibernate ORM Releases

I apologize for the day delay. Ran into a small issue with one of my Gradle plugins after upgrading Gradle for the Hibernate build. Now that that is all sorted...

We are pleased to announce the release of Hibernate Core 4.0.0.Alpha3. Consult the change list for all the gory change details. This is scheduled to be the last Alpha release for Hibernate 4, Beta1 being slated for release on June 1st.

4.0.0.Alpha3 was really about continuing to work on the new metamodel code and fleshing out the new API for SessionFactory creation which leverages that metamodel code as well as the ServiceRegistty code introduced in the first Alpha (and cleaned up since). These things will continue to be the focus for Beta1 too as there is still lots of work to be done on the metamodel code and the SessionFactory building is inherently linked with that work. However, I think the API for SessionFactory building is pretty completely at this point. So I wanted to take the opportunity to introduce that API, even though it is not wired up at this time.

Currently you start off with a ServiceRegistry:

org.hibernate.service.BasicServiceRegistry serviceRegistry = new org.hibernate.service.ServiceRegistryBuilder()
        ... // configure the services
        buildServiceRegistry();

Configuration here means either providing services (or service initiators) directly or providing settings that the services will pick up.

Next, we collect up the metadata sources which are the various sources you want Hibernate to look for metadata describing your domain model and its mapping to the relational database. These sources might be hbm.xml files, annotated classes, etc:

org.hibernate.metamodel.MetadataSources metadataSources = new org.hibernate.metamodel.MetadataSources( serviceRegistry )
        .addResource( "some.hbm.xml" )
        .addAnnotatedClass( SomeEntity.class )
        ...;

An interesting thing to note here is that we now have a natural lifecycle to the information that used to just get dumped into org.hibernate.cfg.Configuration. This previous step only collects the metadata sources, we still need Hibernate to process them:

org.hibernate.metamodel.Metadata metadata = metadataSources.buildMetadata();

And then finally we build the SessionFactory:

SessionFactory sessionFactory = metadata.buildSessionFactory();

You can even chain many of these steps:

BasicServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
        ... // configure the services
        buildServiceRegistry();

SessionFactory sessionFactory = new MetadataSources( serviceRegistry )
        .addResource( "some.hbm.xml" )
        .addAnnotatedClass( SomeEntity.class )
        .buildMetadata()
        .buildSessionFactory();

org.hibernate.cfg.Configuration has been deprecated in this release and org.hibernate.cfg.AnnotationConfiguration has been deprecated for some time now. Both will get removed before 4.0.0 goes Final. We are still planning exactly what the replacement for org.hibernate.ejb.Ejb3Configuration will look like, but it too has been deprecated in the meantime (the recommended way to build an EntityManagerFactory has always been via javax.persistence.Persistence anyway).

We got a lot more aggressive with the package reorganization in this release as well. For those unfamiliar, the general idea is that this is a sort of pre-osgi-ification step, so more will be coming on that front later. The basic gist is that we are splitting packages up based on usages. Stuff deemed part of the API will remain in their same packages, stuff making up the various SPIs will be moved to a 'spi' package, and finally internal (non-public) stuff is moved to an 'internal' package. This work is not yet done, but is moving along.

As always, if you have any comments, the best place is either the hibernate-dev mailing list or the #hibernate-dev IRC channel on freenode. Now is especially the time if you had ideas about any of the planned changes as we move towards 4.0.0.Final or wanted to help in the effort. We have development meetings weekly on the #hibernate-dev IRC channel Mondays at 10am Central time. We also send out minutes to the dev mailing list afterwards.

As always, the release is available from both SourceForge in bundle form as well as the JBoss Nexus repository under the org.hibernate groupId.

Hibernate Core 3.6.4.Final

Posted by    |       |    Tagged as Hibernate ORM Releases

Hibernate 3.6.4.Final is mainly a maintenance release with a couple of improvements.

Of interest are:

  • HHH-2049 resulted in a entity's collection having missing elements if the collectoin was outer-joined using a subcriteria with restrictions; the only elements in the collection would be those that satisfied the subcriteria restriction.
  • HHH-6170 provides a way to customize the default TransactionFactory and TransactionManagerLookup if none is specified.

For more details about Hibernate 3.6.4-Final, see the release notes.

The artifacts have all been published to the JBoss Maven repository.

The release bundles have been uploaded to SourceForge.

Hibernate Core 4.0.0.Alpha2 Release

Posted by    |       |    Tagged as Hibernate ORM Releases

The Hibernate team has just released the 4.0.0.Alpha2 development release of Hibernate Core. Consult the full list of changes for all the details. Some specific changes of interest include:

  • HHH-5697 - Initial multi-tenancy support. Currently only schema and database based varieties are supports. Discrimination based is planned for Alpha3 or the first Beta.
  • HHH-5562 & HHH-6081 - Introduction of org.hibernate.spi.Integrator
  • HHH-6047 - Ability to nest org.hibernate.service.ServiceRegistry instances
  • HHH-5966 - Really cool ability for dialects to redefine how binding and extraction of particular SQL DATATYPES is handled.

As always, the release is available from both SourceForge in bundle form as well as the JBoss Nexus repository under the org.hibernate groupId.

Hibernate Core 3.6.3 Release

Posted by    |       |    Tagged as Hibernate ORM Releases

The Hibernate team have released the 3.6.3.Final maintenance release of Hibernate Core. This is a minor maintenance release with bug fixes. As always, the release is available from both SourceForge in bundle form as well as the JBoss Nexus repository under the org.hibernate groupId.

Hibernate Core 4.0.0.Alpha1 Released

Posted by    |       |    Tagged as Hibernate ORM Releases

The Hibernate team is pleased to announce the release of Hibernate Core 4.0.0.Alpha1. Pieces of changes in this release have been in the work for a long time, so even though it is an alpha the changes should all be really really well vetted and tested.

  • The major focus for this first alpha release was to put the concept of ServiceRegistry into place as well as to start migrating various stuff to be services within the registry.
  • Completely reworked the JDBC and transaction interaction internally, leveraging JdbcCoordinator and TransactionCoordinator internally.
  • Move to use proxies for JDBC objects internally. This is one of the things vetted and tested for a long, long time. Obviously performance is a hug concern here and my findings were that the proxies added very little speed overhead. Why do it? Essentially this allows us to apply consistent behavior in terms of logging, resource tracking and cleanup across the across the various objects and various usage scenarios. It also allows centralization of lots of previously duplicated code.
  • Migration to notion of a JtaPlatform providing more complete and consistent set of services over legacy TransactionManagerLookup
  • Developed initial support for managing internals of running Hibernate SessionFactory (its services) via JMX. See JmxService for details.
  • Removed non-maintained second level cache integrations, hibernate-oscache and hibernate-swarmcache.
  • Began removal of deprecated methods scheduled for removal in 4.0

See the Migration Guide for details of ongoing disruptive changes.

Additionally, the 3.6.2 maintenance release was also done. See http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11206 for list of changes

Hibernate 3.6.1-Final release

Posted by    |       |    Tagged as Hibernate ORM Releases

Hibernate 3.6.1-Final has mainly bug fixes with several improvements.

Of particular interest are:

  • HHH-5830 improves how Hibernate handles large string and binary (BLOB, LOB, LONGVARCHAR, LONGVARBINARY) SQL types, expecially for Oracle, PostgreSQL, and MS SQL Server.
  • Fixes related to JPA 2.0.
  • Improvements to better support MS SQL Server 2005 and 2008.

For more details about Hibernate 3.6.1-Final, see the release notes.

The artifacts have all been published to the JBoss Maven repository.

The release bundles have been uploaded to SourceForge.

Please report any issues to Jira. Visit us on IRC or the forums if you have usage questions.

Thanks!

Hibernate Core 3.6.0.Final Release

Posted by    |       |    Tagged as Hibernate ORM Releases

The Hibernate team is proud to announce the release of 3.6.0.Final. Lot of stuff has been going on.

This is the first release from our new digs on GitHub.

We've been helping out Stale Pedersen with his work to get JBoss Application Server running on the SPECjEnterprise2010 benchmark (and their interesting interpretations of the JPA spec). Likewise, Scott Marlow and Shelley McGowan have been putting a lot of effort into testing JavaEE compatibility of JBoss Application Server running Hibernate as the JPA provider. JBoss Application Server with Hibernate 3.6 as its persistence provider is is passing all persistence related tests in both of those efforts! Great work by everyone involved.

The highlights for 3.6 include:

  • Dropping support for JDK 1.4
  • Merging of hibernate-jmx and hibernate-annotations modules into hibernate-core. For those of you using Maven, that means hibernate-core-3.6.0.Final.jar contains annotation and jmx support.
  • Improved Type support (HHH-5138 and related issues)
  • Change in DTD hosting (HHH-5485)
  • Slew of documentation changes, including introducing a new Getting Started Guide
  • Several improvements to annotations support for discriminators, column-level read/write expressions, and timestamp versions.
  • New Envers feature (ValidityAuditStrategy) as an alternative way to write history entries. See Adam's blog entries here and here for more information.

See http://hibernate.org/issuetracker for details on reporting issues. See http://hibernate.org/community for details on getting community help on usage questions.

Be sure to keep an eye on 4.0 development. No dates yet, but in 2 weeks as things settle down we will discuss the 4.0 time lines. I think we will keep the 2 week time-boxes for the Alphas and Betas as that seems like its been productive.

Hibernate 3.6.0.CR2 release

Posted by    |       |    Tagged as Hibernate ORM Releases

Hibernate 3.6.0.CR2 has mainly minor bug fixes with several improvements.

The improvements are:

  • HHH-5560 Envers has added support for ValidityAuditStrategy - an alternative way to write history entries. The new strategy offers increased query performance, at the cost of additional operations during audit writing. For details see the blogs here and here.
  • Several improvements to annotations support for discriminators, column-level read/write expressions, and timestamp versions.

Some fixes of particular interest are:

  • HHH-892 would cause an exception when an HQL query has an ORDER BY clause that refers to a result variable (i.e., select expression alias).

For more details about Hibernate 3.6.0.CR2, see the release notes.

The artifacts have all been published to the JBoss Maven repository.

The release bundles have been uploaded to SourceForge.

Please report any issues to Jira. Visit us on IRC or the forums if you have usage questions.

Thanks!

back to top