Essential ORM Modeler allows you to model your application using an extension of UML class models, generating code for distinct ORM frameworks (JPA, SQLAlchemy or Ruby´s ActiveRecord). The notation, called ENORM (Essential Notation for ORM), is based on persistence patterns, and is platform independent.
This tool is a plugin of eclipse.
JPA frameworks such as Hibernate, SQLAlchemy, and Ruby´s activerecord are ORM frameworks from distinct platforms. They follow basically the same persistence patterns well described by Fowler´s Enterprise patterns.
To show our point, lets take an example also from patterns, the Accounting patterns:
The three implementations follows the same database structure. Notice that Ruby´s implementation presents some table with distinct names, following the Ruby´s convention.

The main mappings applied are (and their patterns, when it applies):
The goal of this example was to show some advanced mappings, more than just "one class for each table, one property for each column". The full implementation of Account is hosted at sourceforge git´s repository:
The wiki uses Markdown syntax.
By the update site of eclipse:
Go to Help->Install New Software...
At the Work With, click Add.. button and enter:
http://eorm.sourceforge.net/update/
Select EORM from the Work With list, and EORM at the bottom list, along with the requirements
(DLTK has no update site yet, so we are distributing it along our plugin)