In Relation To Steve Ebersole
In Relation To Steve Ebersole
The Hibernate team is proud to announce the first candidate release for 5.0. The main changes since the Beta2 release include:
- Initial generic typing for Hibernate native (Session, e.g.) APIs
- Continued development of the new bytecode enhancement capabilities including improved support in the Maven and Gradle plugins
- Support for parameterized types with AttributeConverter implementations
- Improved OSGi integration testing using Pax Exam and Karaf, and publishing a hibernate-osgi Karaf features file
- Auto quoting of keywords used as identifiers (
- Incorporating fixes, improvements and suggestions to the improved schema update and validation tooling
A lot of help from the community went into this release and the previous Beta releases. Thanks for all the help and work and testing and doggedness!
As always, see http://hibernate.org/orm/downloads/ for information on obtaining the releases.
Report any issues to Hibernate Jira
I have just finished releasing Hibernate O/RM 5.0.0.Beta2. Beyond Beta1, this release adds:
- Support for Spatial/GIS data through importing Hibernate Spatial.
- Complete redesign of
bulk id tablesused to support update/delete queries against multi-table structures. The redesign helps better fit what different databases support.
- Redesign of transaction management
- Much improved (and still improving!) schema management tooling for export, validation and migration.
At this point, 5.0.0 is getting a lot of testing. So even though it is still in Beta I am feeling pretty confident of its quality. I opted for another Beta here instead of CR1 for a few reasons:
- Investigate whether we want to convert Hibernate's native APIs (Session, etc) to be typed. There is one especially tricky case that needs to be figured out. A major release like this would be the time to do that
- I have just introduced some pretty significant Transaction changes since Beta1. I felt it would be prudent to have one more Beta to allow people time to try out those changes and allow for additional changes based on feedback
- I would still like to complete deprecating the Settings contract. The last piece there is the discussion I started earlier on the dev list wrt its usage in SPI contracts (L2 cache, etc). This effects a few integrations.
- I am working on better Karaf support for hibernate-osgi. Specifically creating a Karaf features respository that users can simply pick up and use. That work is well under way, but ongoing.
As always, see http://hibernate.org/orm/downloads/ for information on obtaining Hibernate O/RM.
We just got done releasing Hibernate O/RM 5.0.0.Beta1. I will follow up later with a more in depth blog post for 5.0.0.Final, but this first Beta implements all new APIs and most new features. Specifically in this Beta include:
- New bootstrapping API - better determinism, better integration
- Java 8 Support (though still compatible with Java 6). Just add hibernate-java8 to your classpath.
- Ability to handle additional Java types for id attributes marked as GenerationType#AUTO. Built-in support for Number and UUID. Expandable via new org.hibernate.boot.model.IdGeneratorStrategyInterpreter extension
- scanning support for non-JPA usage
- NamingStrategy has been removed in favor of a better designed API. 2 actually: org.hibernate.boot.model.naming.ImplicitNamingStrategy and org.hibernate.boot.model.naming.PhysicalNamingStrategy
Additionally, support for AttributeConverters has been expanded and more fully realized:
- fully supported for non-@Enumerated enum values
- applicable in conjunction with @Nationalized support
- called to handle null values
- settable in hbm.xml by using type="converter:fully.qualified.AttributeConverterName"
- integrated with hibernate-envers
- collection values, map keys
See http://hibernate.org/orm/downloads/ for information on obtaining Hibernate ORM.
NOTE: 5.0 is expected to be compatible with Java 6 (aside from the hibernate-java8 module naturally). However, Beta1 will not work with Java 6 due to something with JAXB that I have not yet had time to investigate. Beta1 requires Java 7. Again, the expectation is to have it be compatible with Java 6 by the next release if possible.
I have just released 4.3.1.Final, the first bugfix release for Hibernate ORM 4.3. In addition to bug fixes, a few improvements of note include:
- HHH-5289 : Improved performance of reflection calls
- HHH-6911 : Allows reading and writing @DiscriminatorValue from/to @DiscriminatorColumn when combined with InheritanceType.JOINED (for portability with providers which need DiscriminatorColumn)
- HHH-8865 : Added a new guide on logging to the growing set of topical guides. This is the first know documentation of any sort on using/configuring JBoss Logging, and also discusses some of the more good-to-know specific logging categories. See http://docs.jboss.org/hibernate/orm/4.3/topical/html/logging/Logging.html
See the release page for details of all changes.
Artifacts can be found in the usual places.
The Hibernate team is proud to announce the Hibernate ORM 4.3.0.Final Release. With this release, Hibernate is now a certified implementation of the JPA 2.1 specification. Certified awesomeness!
A lot of work has gone into this release over the last few months. The main focus of 4.3 was JPA 2.1 support, so much of the work these past few months focused on new JPA 2.1 features. The new features defined for JPA 2.1 include:
- Support for stored procedures. See my previous blog for details
- CriteriaUpdate and CriteriaDelete allow definition and execution of UPDATE and DELETE queries in type-safe Criteria form.
- Entity listeners can now take advantage of dependency injection through CDI.
- AttributeConverters, which define the ability to apply conversions on basic values between their database representation and their representation in your domain model. This is similar in concept to Hibernate's Type contract, although certainly less powerful (can only apply to basic values and operate on in-memory values). On the positive side, JPA AttributeConverters are portable across providers.
- Entity Graph support
- Standardized schema generation. With 2.1 JPA now defines schema generation which is standardized across providers in terms of how generation is performed and the settings providers understand as a baseline. Arun Gupta has a good write up of the basic schema generation support.
- Synchronization of persistence contexts via SynchronizationType
- @ConstructorResult support in result set mappings for native queries
The significant non-JPA work that has gone into 4.3 includes:
- Continued improvement in Hibernate's support for OSGi environments. OSGi support in 4.3 is still somewhat bound by certain design limitations within Hibernate, We plan to fully address these limitations in 5.0 (see HHH-8501 for details).
- Continued work on new bytecode enhancement support within Hibernate, adding support for
inline dirty checking. See HHH-8354 for details.
- Initial break down of the monolithic DocBook-based manuals into smaller Asciidoc-based topical guides (HHH-8606). This is an ongoing process.
The full change log for the release can be seen at https://hibernate.atlassian.net/browse/HHH/fixforversion/15150.
In 2 weeks we'll decide whether a CR3 is needed or release Final at that time.
Thanks for all the feedback!
The Hibernate team is proud to announce the 4.3.0.CR1 release of Hibernate ORM. This is the first release candidate for 4.3 and JPA 2.1 support. For those who maybe are not familiar with our release methodology, this means that in 2-3 weeks this release will essentially be re-tagged as Final unless some critical bugs are reported with it in the meantime.
I will do a full break down of all the new goodies added over the course of 4.3 development in the Final release announcement. Specific development of note done for CR1 include:
- Support for JPA 2.1 EntityGraphs. This was the biggie holding us back from going to CR. HHH-8285 and friends
- Integration of the Hibernate JPA Static Metamodel Generator into the ORM project - HHH-8483
- Starting on break down of the monolithic DocBook-based manuals into smaller Asciidoc-based topical guides (ongoing) - HHH-8606
- A number of performance fixes including HHH-8709, 8704, 8698, HHH-8682, etal.
The full version info (including change log) can be seen on the version page
Artifacts and release bundles can be found in the normal places.
Version 4.3.0.Beta5 release of the Hibernate ORM project has just been released. This is a step closer towards JPA 2.1 compliance, but also lots of other goodies. JPA 2.1 work of note includes:
- HHH-8478 - which should complete AttributeConverter support.
- HHH-8445 - which adds support for REF_CURSOR parameters and should complete StoredProcedureQuery support.
- HHH-8276 - which was the major prerequisite step for entity graph support. You'll be using that anytime you load entities directly or by to-one association.
- HHH-8523 - which improves support for parameters and returns using an explicit TemporalType and defined as Calendar
Non JPA 2.1 work of note includes:
- HHH-8476 - which now manages associated many-to-many table rows with bulk deletes (HQL/JPQL)
- HHH-7689 - which implements better clean up of JDBC batches during failed transactions. The previous behavior led to problems in the way Spring attempts to reuse Sessions after exceptions (which is technically not supported, but this was a good change to make anyway)
- HHH-8354 - which adds on top of the new
bytecode enhancementwork to weave in
in line dirty checking. In other word, we now have the ability to have entities and embeddables track their own state changes (via enhancement) and for Hibernate to leverage that knowledge during flush. This is still very young, but promises to significantly reduce flush times in many use-cases. We'll have more announcements about all the
bytecode enhancementenhancements later.
- HHH-8520 - ability to use the hibernate.globally_quoted_identifiers with HBM mappings
The full changelog can be found in Jira at https://hibernate.atlassian.net/browse/HHH/fixforversion/14250. Artifacts can be found in the usual places.
Beta6 is scheduled in Jira already following the normal 4 week time box, however be aware that that release is likely to not happen on that particular day; its more likely to be the week before or the week after as I am traveling that particular week. I'll keep Jira up to date as we go along.
Thanks for the support and contributions!
Back to work after summer fun :)
This release has a lot of work, quite a bit in the form of pull requests. Thanks again!
A lot of the focus here has been on JPA 2.1 support. At this point:
- AttributeConverter support should be complete; just about- there is still one minor issue which will be addressed in the next release
- StoredProcedureQuery support should be complete; just about - there is still an issue here too which will be addressed in the next release
- @ConstructorResult support is mostly done, though you currently can only use one ConstructorResult result per query which will be followed up by https://hibernate.atlassian.net/browse/HHH-8498
- JPA schema generation support should be fully done at this point.
- EntityGraph support is still not in place, though support for loading entities using LoadPlans (which is the internal fulfillment of entity graphs) is done and support for collections is under way.
- Applications using JPA native (native SQL) query support should be aware of a potentially significant change to better align with the JPA spec. Essentially Hibernate will now flush the EntityManager before running the native query (as long as we are within a transaction). Note that this is a full flush, unlike HQL/JPQL or Criteria queries which perform a partial flush. In Hibernate native SQL query support, partial flush is achievable which is available to JPA native queries by unwrapping. For details see https://hibernate.atlassian.net/browse/HHH-8487.
Non-JPA-related changes to highlight include:
- Addressing a potential memory leak - https://hibernate.atlassian.net/browse/HHH-8363
- Hibernate OSGi support has been greatly improved within the confines of Hibernate's current bootstrap architecture (see https://hibernate.atlassian.net/browse/HHH-8501 for details on plans for improving OSGi support as we re-design that bootstrap architecture for 5.0). For details on the 4.3 improvements, see https://hibernate.atlassian.net/browse/HHH--7527 or the newly-completed OSGi documentation chapter in the Developer Guide.
- Support for SQL hints in HQL/Criteria queries - https://hibernate.atlassian.net/browse/HHH-2736
- Added PostgreSQL9Dialect (for PostgreSQL 9+) - https://hibernate.atlassian.net/browse/HHH-8331
- Added SQLServer2012Dialect (for SQL Server 2012) - https://hibernate.atlassian.net/browse/HHH-8440
The full changelog can be found in Jira at https://hibernate.atlassian.net/browse/HHH/fixforversion/13652. Artifacts can be found in the usual places.
Also, along with this release came a new release (4.0.4.Final) of the hibernate-commons-annotations support library. For the 2 of you out there who care ;)
Anyway, we will now be back at a 4-week timebox. So the next release (Beta5, or CR if we get to that point by then) will be in 4 weeks from now.
The Hibernate team is pleased to announce today's release of Hibernate 4.3.0.Beta3. Support for entity graphs is still a work in progress, but all other JPA 2.1 features should be fully operational. Specific JPA 2.1 features fully functional as of this release include:
- StoredProcedureQuery and @NamedStoredProcedureQuery support, including XML overrides. See HHH-8222 and HHH-8246
- Completed support for JPA 2.1 schema generation. See HHH-8231, HHH-8270 and HHH-8271
For the full break down of changes, see the changelog.