Chapter 6 covered basic persistence mappings, including various ways to define primary keys as well as simple and complex property-type mappings. This chapter develops our Titan Cruises application a bit further by discussing the seven relationships that entity beans can have with each other.
In order to model real-world business concepts, entity beans must
be capable of forming complex relationships. If we turned our embedded
Address object in Chapter 6 into a first-class entity
bean, we would have had a one-to-one relationship between our Customer
entity and an Address entity. The Address could be queried and cached
like any other entity, yet a close relationship would be forged with the
Customer entity. Entity beans can also have one-to-many, many-to-one,
and many-to-many relationships. For example, the Customer entity may
have many phone numbers, but each phone number belongs to only one
customer (a one-to-many relationship). A customer may have been on many
cruises, and each cruise has many customers (a many-to-many
Seven types of relationships can exist between entity beans. There are four types of cardinality: one-to-one, one-to-many, many-to-one, and many-to-many. In addition, each relationship can be either unidirectional or bidirectional. These options seem to yield eight possibilities, but if you think about it, you'll realize that one-to-many and many-to-one bidirectional relationships ...