I know this could be seen as "yet another object manager", and it is. Thing is, I have a real issue with typical object managers and their interaction with an organization.<p>An ORM layer should always serve as your primary object interface, not just a weird way to execute SQL calls, while your real objects do the work.<p>Also, I like my DBA's to be DBA's: to know everything about how to optimize databases, indexes and to do so with SQL. I don't need or want them to be experts at some ORM.<p>omen2 takes a unique approach to object management by generating "convenience code" based on an existing database's schema. Also, the codegen layer is completely optional.<p>I'm not going to claim it's done the best possible way, but it's good enough for the dozen or so databases we're using it for, and it's makes far fewer assumptions and has no built-in limitations.<p>omen2 allows a full separation between marshalling, serialization and databased design.