I'm not familiar enough with OO to be confident in my reply, but I ran across something a while back that might interest you:
in reply to Persistence and handling large amounts of multi-level self-referential data
What is Tangram?
Tangram is an object-relational mapper for Perl objects. It makes objects persist in relational databases, and provides powerful facilities for retrieving and filtering them. Tangram fully supports object-oriented programming, including polymorphism, multiple inheritance and collections. It does so in an orthogonal fashion, that is, it doesn't require your classes to implement support functions nor inherit from a utility class.