Musings on software » Why choose cmp

…consider the strengths in performance and reduction in development that can be added by leveraging a high-quality CMP container as opposed to developing data access logic using a BMP architecture. I guarantee you’ll be happy with the results.

Excellent post! I couldn’t agree more, the debate mirrors the one around the merits and usefulness of automatic garbage collection. Sure you can manage memory yourself, but how much are you willing to pay for that vs. the performance hit you’d take in a garbage collected environment.

One issue that comes up often in this debate is the quality of the underlying SQL generated by CMP containers. The problem stems from the fact that one has very little, if any, opportunity to tune the generated SQL, and that it’s usually an all or nothing proposition. Hibernate, and to some extent Toplink, have attempted to address this but there’s still a long way to go for CMP containers to bridge this gap.