I give my two cents without beeing asked...
Why not like this (in my eyes somehow "cleaner", relationships can be
added, removed, changed whithout affecting the data, data can be changed
without affecting relationships in case a bean becomes replaced by a new
version).
Every relationship has its own mapping table:
TABLE: order
order_number (not null and the pk)
customer
TABLE: line_items
line_item_number (not null and pk, implizit created by the persistence
manager and for user and developer transparent)
product
quantity
RELATIONSHIP TABLE: order-line_items
order_number
line_item_number
This would be easier to handle especially when the objects have many
relationships.
BTW I dont think the mentioned paragraph from the spec makes sense,
because it violates the idea of dependend objects (only exist as an live
reference of a bean).
\Daniel