in reply to Whip Me, Beat Me, Make Me Use ORMs

I think the key is not to pretend that an ORM makes the RDBMS go away. If you really want truly seamless object storage, use an OODBMS. If you want to use an RDBMS with OO code then by all means use an ORM to eliminate a good portion of code in regular cases, but make sure your ORM also makes it easy (and clean) for you to use manual queries for object retrieval or plain data (non-object) retrieval.

On a similar note, if you're storing serious amounts of data you can't (unfortunately) ignore the fact that relational data modeling and functional object modelling are unfortunately not the same. Your database model may not exactly match your object model. Here you again need a flexible ORM, you need to design your object and relational model side by side and be willing to make compromises in both where it makes sense. Lazy object population can also be your friend here when you have particularly costly database retrieval.