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 data.
- 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 integration.
- 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 | Hibernate 4 new features:
- Move to gradle for builds
- Redesign SessionFactory building
- Introduction of services
- Improved metamodel (not in 4.0.0.Final yet, we planned this, but due to the tasks are more than we expected, and it would take too long to get 4.0 out, so we decided to move this out of 4.0.0.Final but will be upcoming release soon see this for more details, and this is a design document)
- Initial osgi-fication by package splitting (public, internal, spi)
- Support for multi-tenant databases (see this for more details)
- Migration to i18n logging framework (using jboss logging)
- JDK 1.6 (JDBC4) as baseline
and many more. |