Cilantro, a new ORM (object-relational mapping tool), is available as
open source (in the alpha stage) at
http://sourceforge.net/projects/cilantro/
Cilantro addresses the famous Impedance Mismatch problem in connecting
OO systems to relational databases. (for more information about the
Impedance Mismatch, see
http://www.agiledata.org/essays/impedanceMismatch.html)
Some advantages to Cilantro:
It interfaces to any standard (SQL-based) RDBMS. Applications written
in Cilantro are portable from one database to another.
Cilantro is pure Java: no query languages (not even SQL), no
table-descriptor files, no authoring tools, and no precompilers.
Because the RDBMS interface is done behind the scenes, developers of
an application do not have to be database experts to use the database
efficiently.
Users of a class developed under Cilantro can create complex queries
on the that class without modifying the class itself, adhering to the
Open/Closed Principle.
Because Cilantro queries are true objects and not just strings of
commands, Cilantro is type-safe; if the code compiles, it will produce
syntactically correct SQL when it runs.
Because Cilantro queries are true objects, it is possible to build up
libraries of functions to produce complex queries or perform
sophisticated manipulations on them.
Any comments, questions, complaints, or racy limericks are welcome.
[ side note: I couldn't find a charter for this group, so please
take this as a pre-apology if this message is off-topic. In addition
to any flames on the subject, I would appreciate a recommendation for
an on-topic group. Thanks.]