Hibernate 3 has been released, with good timing around the JBossWorld conference.
It is good to see the 3.0, which has features I am interested in… mainly:
- More flexible mappings for the times in which I can’t quite get Hibernate 2 to do what I need.
- Hibernate3 filters
- Unchecked exceptions
- Hibernate Tools
- Second-level cache browser
- XML integration
Now we need to test the hell out of it, and see what version is ready for production. You can’t expect Hibernate 3.0 to be as production ready as the mature 2.x branch which is battle worn.
Many congrats to the Hibernate team.
Full Release Notes
Hibernate 3.0 is the world’s most sophisticated ORXM
(Object/Relational/XML Mapping) solution. Hibernate3 makes it easier
than ever before for Java applications to interact with persistent
data, allowing a single definition of the transformation between
various in-memory representations of the entity data and the relational
schema, even in the case of very complex legacy schemas and schemas for
historical data or data with visibility rules. Hibernate3 also provides
the most comprehensive object/relational query functionality, with
three full-featured query facilities: Hibernate Query Language, the
newly enhanced Hibernate Criteria Query API, and enhanced support for
queries expressed in the native SQL dialect of the database.
Compared to Hibernate 2.1 – the most popular object/relational mapping solution in any language – Hibernate 3.0 offers:
- Much more flexible O/R mapping: support for exotic association and
inheritance mappings, and greater flexibility when working with legacy
- Hibernate3 filters: a unique feature for working with temporal (historical), regional or permissioned data.
- Unprecendented flexibility for mixing handwritten and generated SQL
within a single application or even a single entity: full support for
“derived” entities and attributes defined in the mapping document, full
support for overriding any generated SQL statement with handwritten
SQL, support for stored procedures.
- Object/Relational/XML mapping: query XML directly from the database
for reporting, replicate data between databases via intermediate XML,
externalize entity data as XML when interacting with remote systems.
- Enhanced ease of use: better defaulting, an unchecked exceptions
model, simplified natural (and composite) key support, simplified CMT
- Enhanced Criteria query API: with full support for projection/aggregation and subselects.
- Runtime performance monitoring: via JMX or local Java API, including a second-level cache browser.
- Brand new AST-based HQL parser: bulk update/delete enhancement, better syntax validation.
- JBoss EJB 3.0 preview: support for annotation-based O/R mappings,
full support for EJB-QL 3.0, support for EJB 3.0 persist()/merge()
lifecycle, JACC-based security model.
- Hibernate Tools preview: a full suite of Eclipse plugins for
working with Hibernate 3.0, including mapping editor, interactive query
prototyping, schema reverse engineering tool.
- Many new extension points: including a new, extensible, event-driven architecture
- Documentation enhancements.
- Brand new test suite, including many useful examples of exotic Hibernate mappings.