Hibernate Tools 3.1.0.beta1 - New and Noteworthy

Previous new and noteworthy for 3.0.0alpha5


General


Beta - "API" settled

Going from Alpha to Beta means that the Ant "API" has been settled. This require some changes for users which used ant with the alpha versions. The changes are listed in our JIRA at HBX-408.

The JIRA issue also list important changed behavior with respect to codegeneration and reverse engineering


Annotation & entity resolver support

Previous releases could not use EJB3 annotation based mapping when performing queries etc. That is now possible to enable on the console configuration. Note: using this feature require you to run Eclipse under a Java 5 runtime)

Furthermore we have added support for providing a custom entity-resolver which can be usefull when using XML entities as done in some parts of our CaveatEmptor project.

Annotation support also include improved EJB3 POJO generation and generating <mapping> with a class attribute instead of resource when generating hibernate.cfg.xml


Editors


Query parameter support

This release introduces support for query parameters (both named and positional) when executing HQL queries. The Query Parameters view are used to enter values for the parameters (The P+ icon makes the view fill in the parameter names automatically)


.reveng.xml Editor

This release finally make the reveng.xml editor available.

The editor is intended to allow easy definition of type mappings, table include/excludes and specific override settings for columns, e.g. define a explicit name for a column when the default naming rules is not applicable.

Note that not all the features of the .reveng.xml file is exposed or fully implemented in the editor, but the main functionallity is there for you to use and comment on.

The overview page where the wanted console configuration is selected (auto-detected if Hibernate 3 support is enabled for the project)

The table filter page allows you to specify which tables to include and exclude. Note: in the alpha version you had to add an exclude for all tables at the bottom to avoid reverse engineering the whole database, in the beta version this behavior has been changed. Now the "everything is included" rule is only active if no filters has been defined - if a include or exclude filter has been defined nothing is included by default.

Type mappings page is used for specifying type mappings from jdbc types to any hibernate type (including usertypes) if the default rules are not applicable.

Table & Columns page allow the user to explicit set e.g. which hibernatetype and propertyname that should be used in the reverse engineered model.


Improvments to entity model view

The "Hibernate Entity Model" view now perform layout horizontal instead of vertical and it now avoids drawing two lines for bi-directional associations.

The view now also supports Zoom and printing.

Note: This view is still under development and thus might error on larger or "interesting" models.



Wizards


Improved Artifact generation Wizard

The artifact generation now remembers its state between invocations making it much easier to use repeatedly.

It will also use the current selection when the wizard is created to adjust values. e.g. if the wizard is started when the current selection is a .reveng.xml that file will be used.