advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement



Title: Professional EJB
ISBN: 1861005083
US Price: $ 59.99
Canadian Price:
C$ 89.95
UK Price: £ 47.99
© Wrox Press Limited, US and UK.

Reviews : Java Books :
Professional EJB : The EJB 2.0 Entity Model

Abstract Methods and Relationships

Relationships are also managed through abstract accessor methods. In the case of a relationship where the multiplicity of the associated object is many, the abstract accessor's parameter or return value type is a collection class representing the relationship. This collection class implements the java.util.Set or java.util.Collection interface. (A future version of the specification may add java.util.Map and java.util.List as return types.) In the case of a relationship where the multiplicity of the collection class is one, the abstract accessor's parameter or return value type is a single instance of the related object.

For example, consider the case where an order is related to one shipment address and multiple line items. The relationship accessors might look like this:

	public abstract Collection getLineItems();
	public abstract void setLineItems(Collection lineItems);

	public abstract AddressLocalEJB getShipAddress();
	public abstract void setShipAddress(AddressLocalEJB shipAddress);

The collection classes used with relationship accessor methods are implemented and instantiated by the EJB container. You can use those collection classes to modify the relationship directly. In the example above, you could use the java.util.Collection object returned from getLineItems() to find, add, or remove line items from the order-line item relationship. You would not need to subsequently call the setLineItems() method. In fact, setter methods for many-valued relationships have special semantics that will be explained in the following chapter.

Just as the container-managed state fields for an EJB 2.0 CMP entity are declared as <cmp-field> elements in the deployment descriptor, relationship state fields are declared in the deployment descriptor as <cmr-field> elements. These <cmr-field> declarations are made in a special section of the deployment descriptor that contains all the relationship information. A <cmr-field> element has a name and a description, just like a <cmp-field>. For the case where the target object relationship has a multiplicity of many, the type of collection object (either java.util.Collection or java.util.Set) must also be specified.

Abstract ejbSelect() Methods

Along with these abstract accessor methods for the object's persistent state and its relationships, there is one other type of abstract method that the programmer may declare: zero or more instances of the ejbSelect() method. These ejbSelect() methods are similar to finder methods in that they use the EJB query language to retrieve information. However, there are two important differences:

  • First, they are never exposed to a client. They are used only in the EJB's implementation.
  • Second, they can return entities and the values of cmp fields, whereas finder methods just return entities.

Here is an example ejbSelect() method whose behavior would be specified by a query in the deployment descriptor:

	public abstract Collection ejbSelectAllLineItems();

Stop by in one week for the next installment!

How to Add Java Applets to Your Site

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.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs