in reply to Why use an OO -> SQL mapper module?

I find them to be generally useful, albeit with one very important (to me...) caveat:   they are not the basis of “my program’s objects.”

For program-construction purposes, I think of “objects” as “Things.™”   Those are the Things™ which pop up in ordinary business context discussions about what the program is supposed to be doing for the business that is paying for it.   It is inevitably true that those Things™ will be instantiated using information from one or more database tables, but that is an opaque characteristic of the Thing™ from a business point-of-view ... therefore, the object’s implementation conceals it.   OO-wrappers may well be used in the employed in the implementation of the CRUD methods of the Thing™, but, in my designs, none of these subordinate objects are “the Thing™ itself.”

Actually, I do find that OO-wrappers are actually quite handy, because when you start using them in earnest, you really do discover just how much of your time you’ve been spending all these years, dicking around with the construction of SQL strings . . .