Transcript Entity Bean
Entity Bean
Chuyên đề Lập trình Java & J2EE
Chương 15
Biên soạn: Th.S Nguyễn văn Lành
1
Concepts
An entity bean represents persistent data stored in one
row of a database table .
When an entity bean is created, the data is written to the
appropriate database table row, and if the data in an entity bean
is updated, the data in the appropriate database table row is also
updated
Entity beans differ from session beans in several ways.
Entity beans are persistent: entity bean's state exists beyond the
lifetime of the application
allow shared access: may be shared by multiple clients
have primary keys: unique object identifier
may participate in relationships with other entity beans
2
When to Use Entity Beans
The bean represents a business entity,
not a procedure.
For example, CreditCardEJB would be an
entity bean
CreditCardVerifierEJB would be a session
bean.
The bean's state must be persistent
3
Types of persistent management
Bean-Managed Persistence
Container-Managed Persistence 1.1
the bean developer takes responsibility for
persistent storage in attributes
persistent attributes are defined as attributes of
the bean class and given in the deployment
descriptor
Container-Managed Persistence 2.0/2.1
The bean developer works with an abstract bean class
defines abstract access methods for reading and writing of
attributes (During deployment the EJB container generates a
derived class that implements all the abstract methods )
4
Constitution of a entity bean
Remote interface:
Home interface:
makes it possible to identify all entity bean identities uniquely
Deployment Descriptor:
provides the implementation for the business methods, finder
methods, home methods
Primary key class
defines the methods that allow a client to create and find an
entity bean
Enterprise Bean class:
defines the business methods of the bean.
This configuration document defines the bean's runtime
attributes, such as its transaction or security attributes
Helper classes
5
Remote Interface
Each method in the remote interface must match
a method in the enterprise bean class.
The signatures of the methods in the remote
interface must be identical to the signatures of the
corresponding methods in the enterprise bean
class.
The arguments and return values must be valid
RMI types.
The throws clause must include
java.rmi.RemoteException
6
Home Interface
defines the methods that allow a client to create
and find an entity bean
create Method
has the same number and types of arguments as its
matching ejbCreate method in the enterprise bean
class.
returns the remote interface type of the enterprise
bean.
The throws clause includes the exceptions specified
by the throws clause of the corresponding ejbCreate
and ejbPostCreate methods.
The throws clause includes the javax.ejb.CreateException
& java.rmi.RemoteException
7
Entity bean creation
8
Home Interface
finder Method
Every finder method in the home interface corresponds to a
finder method in the entity bean class.
The name of a finder method in the home interface begins with
find, whereas the corresponding name in the entity bean class
begins with ejbFind
The number and types of arguments must match those of the
corresponding method in the entity bean class.
The return type is the entity bean's remote interface type, or a
collection of those types.
The exceptions in the throws clause include those of the
corresponding method in the entity bean class.
The throws clause contains the javax.ejb.FinderException &
java.rmi.RemoteException
9
Home Interface
finder Method in bean class
All finder methods must begin with ejbFind.
You must have at least one finder method, called
ejbFindByPrimaryKey.
You can have many different finder methods, each
with different names and different parameters.
A finder method must return either the primary
key for the entity bean it finds or a collection of
primary keys if it finds more than one.
10
Home Interface
home Method
Each home method definition in the home interface
corresponds to a method in the entity bean class.
In the home interface, the method name is arbitrary,
provided that it does not begin with create or find.
In the bean class, the matching method name begins
with ejbHome.
For example, in the SavingsAccountBean class the name is
ejbHomeChargeForLowBalance, but in the
SavingsAccountHome interface the name is
chargeForLowBalance
The throws clause contains the
java.rmi.RemoteException
11
BMP guidelines
12
BMP guidelines
13
BMP guidelines
14
BMP guidelines
15
16
Bean-DBMS synchronization
17
CMP Entity Beans
CMP Entity Beans Are Subclassed
database-independent
The container generates the JDBC code by
subclassing your entity bean class.
CMP Entity Beans Have No Declared Fields
CMP Entity Beans Have a Query Language
CMP Entity Beans Can Have ejbSelect() Methods
18
Bean instance Pooling
19
CMP Guidelines
20
CMP Guidelines
21
CMP Guidelines
22
23
24
25
26
27