This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes Assignment rules for relationships Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "Assignment rules for relationships" Watch "Assignment rules for relationships" New topic

Assignment rules for relationships

Richard Green
Ranch Hand

Joined: Aug 25, 2005
Posts: 536
I dont get it. Can some one explain this to me:

Spec: Page Number 139

One-to-many bidirectional relationships

A and B are in a one-to-many bidirectional relationship:

A 0..1<-----> 0..* B

Before change:

Collection b1 = a1.getB();
Collection b2 = a2.getB();
B b11, b12, ... , b1n; // members of b1
B b21, b22, ... , b2m; // members of b2


Expected result:
(a2.getB().isEmpty()) &&
(b2.isEmpty()) &&
(b1 == a1.getB()) &&
(b2 == a2.getB()) &&
(a1.getB().contains(b21)) &&
(a1.getB().contains(b22)) && ... &&
(a1.getB().contains(b2m)) &&
(b11.getA() == null) &&
(b12.getA() == null) && ... &&
(b1n.getA() == null) &&
(a1.isIdentical(b21.getA())) &&
(a1.isIdentical(b22.getA())) && ...&&

I understand the above. But.


Since b1n.getA() == null, shouldn't it be b2m.setA(null); ??

but according to the spec, it is

Expected result:
(b1.contains(b11)) &&
(b1.contains(b12)) && ... &&
(b1.contains(b1n)) &&
(b1.contains(b2m)) &&
(b2.contains(b21)) &&
(b2.contains(b22)) && ... &&
(b2.contains(b2m_1)) &&
(a1.isIdentical(b11.getA())) &&
(a1.isIdentical(b12.getA())) && ... &&
(a1.isIdentical(b1n.getA())) &&
(a2.isIdentical(b21.getA())) &&
(a2.isIdentical(b22.getA())) && ... &&
(a2.isIdentical(b2m_1.getA())) &&

MCSD, SCJP, SCWCD, SCBCD, SCJD (in progress - URLybird 1.2.1)
Richard Green
Ranch Hand

Joined: Aug 25, 2005
Posts: 536
I dont get it. Can someone explain.
Herman Schelti
Ranch Hand

Joined: Jul 17, 2006
Posts: 387
hi Lynette Dawson,

see page 137:
All changes in each subsection are assumed to be applied to the figure labeled ´┐ŻBefore change´┐Ż at the beginning of the subsection (i.e., changes are not cumulative).

Hope this helps!

Richard Green
Ranch Hand

Joined: Aug 25, 2005
Posts: 536
Oh damn, that explains a lot!!

I agree. Here's the link:
subject: Assignment rules for relationships
Similar Threads
Setting to null an element of the many side of a relationship
Mikalai Zaikin notes -Chapter 6
One to Many Bidirectional Relationship
Double K&B Chapter 3- Question 11
CMR assignment rules...