Bean-managed persistence (Customer bean): allows us to test the following:
JNDI lookup of initial context
Pooled data source access via JDBC
Definition of a BMP custom finder (findByCustUsername())
Container-managed persistence (Account and Branch beans): allow us to test the following:
Object/Relational mapping with the development tool and within the deployment descriptor
Use of composite primary keys (Account)
Definition of custom CMP finders (with the Account bean, and its findOrderedAccountsForCustomer() method). This is the occasion to look at differences in declaring the query logic in the deployment descriptor, and also to have a complex example returning a collection of objects.