generated java classes to support Object Releational Mapping (ORM)
a richer Domain Specific Language (DSL) to descibe database structure
which can be generated from existing databases or generate new from scratch.
an API which enables the database to be seen as a collection of
Java objects, via a (genuinely!) easy-to-use
transparent persistence layer on top of JDBC.
a low level security model allowing restrictions to be
placed on tables, rows and fields.