[ http://jira.andromda.org/browse/HIB-219?page=all ]

Benjamin Lerman updated HIB-219:
--------------------------------

    Attachment: hibernate-patch

> Handle bidirectional associations.
> ----------------------------------
>
>          Key: HIB-219
>          URL: http://jira.andromda.org/browse/HIB-219
>      Project: Hibernate Cartridge
>         Type: New Feature

>     Versions: 3.0M3, 3.0RC1, 3.0 RC2, 3.0 Final, 3.0.1, 3.1M1, 3.1-RC1, 3.1, 
> 3.2-RC1
>     Reporter: Benjamin Lerman
>     Assignee: Carlos Cuenca
>  Attachments: hibernate-patch
>
>  The hibernate cartridge do not take into account if an association is 
> bidirectional when it does generate the getter setter for the association.
>  That means it is of the responsibility of the user to synchronize the two 
> end of the associations.
>  I join a patch that add a "handleBidirectionalAssociations" option to the 
> hibernate namespace. When this option is enable, the getter and setter of the 
> bidirectional associations are modified so that synchronization of bother 
> ends is automatically handled.
>  For this, I do the following:
>  The property is renamed with a Internal suffix. There is a usual 
> getter/setter for this internal attribute, but with a package protected 
> visibility.
>  The hibernate mapping file are modified to point to this internal attribute.
>  An Accessor class is created on the same package as the entity class that 
> has public static method that allows direct access to the internal property.
>  For a *-to-One relation, usual getter, setter are generated, that 
> automatically handle other end of the association, using the Accessor if 
> needed.
>  For a *-to-Many relation, 4 methods are created: getter, setter, adder and 
> remover. All handle bidirectionality. The getter should return an 
> unmodificable collection but this is still to do because finding the correct 
> Collections.unmodifiableXXX to use does not seem that easy.
>  I join the patch as well as the meta-facade model
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.andromda.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 

Reply via email to