Eliminate (as much as possible) the use of raw SQL (or any textual query language), instead providing Java classes that allow the expressions of queries and updates in as concise but compile-time checkable a manner as possible.
Reduce the pain of schema and data migrations as much as possible, but not so much that the system used to do the migrations is too complex for anyone to understand or use properly.
Use annotations to layer database metadata over the top of (almost) POJOs.
Use annotations that are syntactically and semantically equivalent to EJB3 persistence annotations wherever possible.
Support multiple database backends (currently MySQL and Postgresql).
Provide caching support (currently integrated with EHCache).
Keep an eye toward eventual support for sharded databases.
I and others who have contributed to the library hope that you find it useful, easy to use and time saving. Comments and contributions are always welcome.