CMP or container-managed persistence means that the EJB container handles all database access required by the entity bean. The bean's code contains no database access (SQL) calls. As a result, the bean's code is not tied to a specific persistent storage mechanism (database). Because of this flexibility, even if you redeploy the same entity bean on different J2EE servers that use different databases, you won't need to modify or recompile the bean's code. In short, your entity beans are more portable.
Understanding Classloaders: log4j in a J2EE Environment
EJBs are a little different from the normal J2EE world. Part of that difference lies in the app server's classloaders. While demonstrating how to use log4j with EJB applications, Vikram Goyal explains how classloaders work and how to use them.
The Debate Over Java Data Objects
The Java Data Objects spec is intended to free developers from worrying about mapping objects to databases. But not everyone thinks it's a great idea. Vendors like Thought Inc. take issue with JDO and think they have better solutions. Dion Almaer weighs in on the issues.