Passing Objects by Value
Passing objects by value is tricky with Enterprise JavaBeans. Two simple rules will keep you out of most problem areas: objects that are passed by value should be fine-grained dependent objects or wrappers used in bulk accessors, and dependent objects should be immutable.
EJB 1.1: Dependent Objects
The concept of dependent objects was addressed in Chapter 6, which describes the use of dependent objects in EJB 2.0. But for EJB 1.1, dependent objects are a new concept. EJB 2.0 and EJB 1.1 use dependent objects differently, because EJB 2.0 can accommodate much more fine-grained entity beans than EJB 1.1.
Dependent objects are objects that have meaning only within the
context of another business object. They typically represent fairly
fine-grained business concepts, such as an address, phone number, or
order item. For example, an address has little meaning when it is not
associated with a business object such as
Organization. It depends on the context of the
business object to give it meaning. Such an object can be thought of
as a wrapper for related data. The fields that make up an address
zip) should be
packaged together in a single object called
AddressDO. In turn, the
AddressDO object is usually an attribute or
property of another business object; in EJB, we would typically see a
dependent object such as
AddressDO as a property
of an entity bean.
Here’s a typical implementation of an
public class AddressDO ...