Tapestry/Hibernate Integration Library

This library integrates into Tapestry 5 to provide out-of-the-box support for using Hibernate 3 as the backend for normal CRUD style applications.

For at least the first pass, this will represent access to the native Hibernate interfaces, exposed in a thread-safe manner, within a session-per-request strategy.

A number of more esoteric ideas in Hibernate are not supported, including nested transactions and supporting multiple persistence units.

Licensing Issues

Hibernate is licensed under the Lesser GNU Public License. This is more restrictive license than the Apache Software License used by the rest of Tapestry. The restrictions mostly apply to redistricuting Hibernate, especially in any altered form, and will likely be irrelvant to the vast majority of users, but you should be aware.

This library is compiled against version 3.3.1.GA of Hibernate (and version 3.4.0.GA of hibernate-annotations), but should work with more recent versions.

What's New?

  • Transactions are now aborted (no longer committed) at the end of each request: you must now explicitly commit the transaction if changes are to be saved.
  • The new @CommitAfter annotation for component and service methods can now commit the transaction automatically after the method is invoked.
  • HibernateGridDataSource can be used with the Grid component to support optimized queries against large data sets.