Studies indicate that over 90% percent of business applications use a relational database to persist their data and a significant factor of a developer's development time is spent writing code that deals with submitting queries to a database.
In order to achieve scalability, performance, reusability and manageability, it is very important that you decouple the business logic from the data access logic. The J2EE blueprints suggest using Data Access Objects (DAO) to encapsulate any data access in order to keep your business logic clean and simple. Whether you are developing a stand alone application, a Java servlet or your code runs within the context of an application server, it is always good practice to have separate classes that deal with the database. In a typical enterprise application, there can potentially be hundreds and even thousands of tables for which a developer needs to write corresponding objects in Java; that is where DBArchitect comes in.