[ 
http://thecla.homeftp.net:8380/jira/browse/HIB-59?page=comments#action_11108 ]
     
Wouter Zoons commented on HIB-59:
---------------------------------

for now I implemented a preliminary fix: each entity checks the identifiers 
modeled onto itself, if the entity extends another entity it will also use the 
equals() and hashCode() methods of that one in the process

using business properties only makes sense when they are never updated during 
the lifetime of the instance (see the hashCode contract here: 
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode())

more comments welcome, add one when you have a concrete idea for implementation

> Java object identity
> --------------------
>
>          Key: HIB-59
>          URL: http://thecla.homeftp.net:8380/jira/browse/HIB-59
>      Project: Hibernate Cartridge
>         Type: Improvement
>     Versions: 3.0RC1
>     Reporter: David Allen
>     Assignee: Martin West
>     Priority: Minor

>
>
> Since some of the implementation classes are now placed under the target/src 
> directory, it would be nice to automatically produce the equals()/hashCode() 
> methods to handle object identity in Java.  For a good, concise description, 
> see section 4.3 of the Hibernate Reference docs at 
> http://www.hibernate.org/hib_docs/reference/en/html/persistent-classes.html#persistent-classes-equalshashcode.
> Depending on the model and how an entity is used, there will be cases where 
> some subset of attributes, including a subset of 1, may be used to uniquely 
> identify the object between Hibernate sessions in collections.  For reasons 
> described in the Hibernate reference above, this often cannot be the primary 
> key (auto-generated) of the entity, but must be some business key that is at 
> least relevant within the context that the entity will be used.
> Generating the methods in the *Impl classes can be fairly straightforward.  
> The only design decision to make here is how to let the modeller define which 
> subset of attributes on an entity define a business key.  Possibilities 
> include:
>   1.  A new stereotype, like <<primaryKey>>, but for business key attributes,
>   2.  A tagged value to add to such attributes (similar to ones for 
> "indexed", "unique")
> This only affects the *Impl classes, or perhaps it should really be in the 
> main class, since the Hibernate engine does not need it.  Within a single 
> Hibernate session, the cache takes care of these issues.  Only outside of a 
> session, or between sessions, does the object identity become an issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://thecla.homeftp.net:8380/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Andromda-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-devel

Reply via email to