Section Summary
This section provided an overview of the new model for container-managed persistence. It introduced a
lot of new material that will be further described in the next chapter. After reading this section, you
should understand the following:
-
The types and role of abstract methods in EJB 2.0 persistence
Abstract methods play a key role in the EJB 2.0 persistence model. Abstract accessors are used
to access and modify persistent state and relationship information for entity objects. Abstract
ejbSelect() methods give the component developer access to the new EJB query language.
Abstract methods are key to such optimizations as dirty checking and lazy loading.
-
The separation of the client view from the object model
You cannot pass a local interface or a relationship collection class across a remote interface.
The client never sees the structure of an entity. Instead, the entity provides a view through its
remote interface, possibly by using view objects.
-
The representation of relationships
Relationships are accessed through get and set accessors, and through collection classes if they
have a multiplicity of many. They are also used in the EJB query language, and to manage the
lifespan of entity objects (through cascade-delete). The set accessors of relationships that are
represented by a collection class are only used in special circumstances. Relationships are
defined in the deployment descriptor as having two roles each. A role consists of a
multiplicity, a role source, a <cmr-field> if necessary, a collection type if necessary, and a
cascade-delete element if necessary.
-
The structure of the EJB query language (EJB QL)
The new query language is based on SQL-92, and is enhanced by path expressions that allow
the component developer to navigate over the relationships defined between entity objects.
Rather than working with relational database tables, EJB QL works with the definition of
entities in the deployment descriptor (known as their schema). There are three parts to an EJB
QL query: the SELECT clause, the FROM clause, and the WHERE clause. These queries are used
to define the behavior of finder methods (which are exposed to the client), and ejbSelect()
methods (which are strictly used in the implementation) for entity beans with EJB 2.0
container-managed persistence.
-
The structure of the deployment descriptor
The deployment descriptor has a major new element to support the EJB 2.0 persistence
model: the relationships section. In addition, there are several additions to the entity element
of the enterprise-beans section to support EJB 2.0 persistence, such as an element for an
abstract-schema-name and elements to specify queries. Finally, there is a new security
permission type for a method, called Unchecked, which helps to make the use of fine-grained
entities practical to build your object model.
The remaining part of this chapter will talk about how some of the changes in EJB 2.0 can affect your
beans with bean-managed persistence.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|