Skip to content
Steve Ebersole edited this page Aug 4, 2016 · 1 revision

Main Road Map page

7.0 Road Map - plans for Hibernate ORM 7.0

The brunt of 7.0 work will revolve around 2 major features:

"extended" JPA mapping/config xml schemas

... and deprecating the legacy Hibernate forms (cfg.xml and hbm.xml). The extended schema incorporates Hibernate-specific features into the standard JPA XML format. Each model is read via JAXB. For a short time we will continue to accept the legacy, deprecated forms via "converters" that use the JAXB models to perform the transformations. These converters can be used at run-time or at build-time (via Gradle plugin, etc).

Much of this work is already done in a branch.

Note that the converter does have some limitations in terms of not supporting a few hbm.xml features.

Jandex

Jandex is a library for reading Java type metadata without loading the Class into ClassLoader. This includes access to members and annotations, both of which we want to leverage. When running in WildFly, we would be handed this Jandex IndexView (improved bootstrap perf). Otherwise, we'd need to build the IndexView ourselves (given the MetadataSources). I'd also like to see an option to build this IndexView at build time and create an "easily de-serialized serial form of this IndexView (again, improved bootstrap perf).

Then the idea is to take this Jandex IndexView and "augment it" from XML mappings (see first discussion). This "augmented" IndexView represents a completely normalized view of the application's domain model and mapping information, regardless of actual source.