Friday, March 13, 2009

How is persistence implemented in enterprise beans (EJB)

Question :How is persistence implemented in enterprise beans? (EJB)
Answer :Persistence in EJB is taken care of in two ways, depending on how you
implement your beans: container managed persistence (CMP) or bean
managed persistence (BMP)
For CMP, the EJB container which your beans run under takes care of the
persistence of the fields you have declared to be persisted with the
database - this declaration is in the deployment descriptor. So, anytime
you modify a field in a CMP bean, as soon as the method you have
executed is finished, the new data is persisted to the database by the
container.
For BMP, the EJB bean developer is responsible for defining the persistence
routines in the proper places in the bean, for instance, the ejbCreate(),
ejbStore(), ejbRemove() methods would be developed by the bean
developer to make calls to the database. The container is responsible, in
BMP, to call the appropriate method on the bean. So, if the bean is being
looked up, when the create() method is called on the Home interface, then
the container is responsible for calling the ejbCreate() method in the bean,
which should have functionality inside for going to the database and
looking up the data.

No comments: