| Q: |
What
are the methods of Entity Bean?What is
the difference between Container-Managed
Persistent (CMP) bean and Bean-Managed
Persistent(BMP) ?
|
| A: |
Container-managed
persistence beans are the simplest for the
bean developer to create and the most difficult
for the EJB server to support. This is because
all the logic for synchronizing the bean's
state with the database is handled automatically
by the container. This means that the bean
developer doesn't need to write any data
access logic, while the EJB server is supposed
to take care of all the persistence needs
automatically. With CMP, the container manages
the persistence of the entity bean. A CMP
bean developer doesn't need to worry about
JDBC code and transactions, because the
Container performs database calls and transaction
management instead of the programmer. Vendor
tools are used to map the entity fields
to the database and absolutely no database
access code is written in the bean class.
All table mapping is specified in the deployment
descriptor. Otherwise, a BMP bean developer
takes the load of linking an application
and a database on his shoulders.
The bean-managed persistence (BMP) enterprise
bean manages synchronizing its state with
the database as directed by the container.
The bean uses a database API to read and
write its fields to the database, but the
container tells it when to do each synchronization
operation and manages the transactions for
the bean automatically. Bean-managed persistence
gives the bean developer the flexibility
to perform persistence operations that are
too complicated for the container or to
use a data source that is not supported
by the container.BMP beans are not 100%
database-independent, because they may contain
database-specific code, but CMP beans are
unable to perform complicated DML (data
manipulation language) statements. EJB 2.0
specification introduced some new ways of
querying database (by using the EJB QL -
query language). |
| |
|
|