Java Pro - J2EE Persistence from JDBC to CMP
There are basically two architecture - Data driven and Object driven. The above article gives a good explanation for choosing the right architecture and especially persistence architecture.
"Data driven architeture: Are window-on data with little or no business logic maintained in the middle tier. ften, these applications are data-centric based on their origins—for instance, they were previously accessed through a Rapid Application Development tool or similar technology—and developer skill sets. Applications that are data-centric should focus on implementations based on JDBC and frameworks that maintain the relational model all the way through to the presentation layer.
Object driven: In this development style, application logic is usually built and maintained within the J2EE middle tier and involves introducing a persistence layer into the application that will convert between the object model of the application and the relational schema of the database or database"