One embodiment of the invention employs "transparent object persistence"
techniques in which persistent data objects (i.e., the objects that
represent persistent data from a database) are separated from business
processing objects (i.e., the objects that handle the requests, process
specific business operations, manipulate the persistent data and respond
to clients). Within a Java 2 Enterprise Edition ("J2EE") environment, the
business processing objects are entity beans managed by an Enterprise
Java Bean ("EJB") container. A persistence manager manages the persistent
data objects, which provide an in-memory representation of a set of
database data. The entity beans manipulate the persistent data by
invoking get/set accessor methods on the persistent data objects. In one
embodiment, the persistence manager associates a state with each of the
persistent data objects which indicates an operation to be performed
within tables of a relational database when the modifications to the
persistent data objects are committed to the relational database.