Hibernate is an open source O-R mapping tool that works without code generation
or bytecode processing .... and supports inheritence, association, composition,
collections .... and is compatible with a bunch of big-name databases.

Way more powerful than CMP and easier to use than JDO. And free.

http://hibernate.sourceforge.net