I have started working on creating an Object database supported by RDBMS on backend. No it is not an ORM layer. It is a pure object database to the user. Behind the scenes the actual data is stored in the relational database with a simple schema. Primary object access mechanisms will be through Query by template object and by implementing SODA. Currently I am 40% done with the object saving code.
Much has been my pain with available ODB's to force me to embark on this journey. Few steps I am taking to remove the pains I faced with existing tools are as below:

  1. Ability to migrate data easily when the underlying data model changes. Type narrowing is handled automatically. Field removal is handled, so is field addition. More complex cases can be mapped with an in-built mapper.
  2. Relational schema is easily readable and understandable(not Klingonese)
  3. Easy to use. No complex XML file to setup (which requires you to understand enough of RDBMS to kill the joy of using ODB).
  4. No artifical requirement of using only the methods to access data, no need to declare serializable(may change it later)
  5. Very simple API, very low learning curve. In fact you can live by knowing only four method call

I am looking forward to know your experience and frustrations (and enjoyments of course) with Object databases. I will try to see if I can address the defects and make it more suitable for your and my needs.