On Fri, 2002-10-04 at 15:28, David Graham wrote: This is a layer above all persistence frameworks (JDBC, JDO, EJB, OJB, etc.) that your application programs to. If you decide to change persistence frameworks, most of your code remains unchanged because it doesn't know which one you're using.
I just don't think it's feasable to design a single, one-size-fits-all abstraction mechanism for all persistence layers. Many persistence systems have different tricks and different emphases which defy any attempt to neatly abstract them all. For example the Simper framework (which I wrote) is designed to cut through the MVC hierarchy like a butter knife, using the same beans in the Model (which is Simper itself), to the Controller (Struts and your actions), to the View (which is JSP, Velocity, etc). This is a FEATURE not a shortcoming, to reduce data copying across layers and simplify code management. Other differences you may find are in the realm of code generation. People tend to think that you're either writing beans by hand, or you're having a tool auto-generate classes for you. But this is a false assumption: Simper was designed to avoid code generation entirely. It's all dynamic, using DynaBeans and what I call "point-and-shoot table configuration". You don't write classes, you don't even auto-generate classes. You just configure them, in a way similar to how Struts 1.1 lets you dynamically configure DynaActionForms. In short, I think trying to make a single layer which sits above all known persistence systems will just stifle creativity in approaches. Bryan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

