[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2245?page=c...
]
Steve Ebersole commented on HHH-2245:
-------------------------------------
Sounds like a job for a Tuplizer to me then (read the docs)...
Resetting of properties after initial set violates constraints we
want to protect
---------------------------------------------------------------------------------
Key: HHH-2245
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2245
Project: Hibernate3
Type: Improvement
Versions: 3.1.2
Environment: Windows XP with all service packs and patches.
Reporter: Jim Showalter
We have properties on objects that are supposed to be set only once, when first reading
an object back from the database. Once in memory, they are not supposed to be set again,
and attempting to do so is supposed to throw an exception. Unfortunately, hibernate's
behavior appears to be less predictable than we had thought. It assigns properties more
than once. For example, when merging a disconnected object, it loads one from the database
(thus setting the properties), and then sets them again from the other object, thus
violating the set-once rule. There are other cases similar to this. We modified our rule
to allow setting to null (or some other value indicating not-yet-set) as many times as
desired, then setting to some actual value, and allowing setting to that same value as
many times as desired. Setting to a different value once set throws an exception. This
seems to pacify hibernate, but we're not certain that it will work in all cases, and
the behavior of hibernate as far as resetting properties is concerned is undefined. Our
request is for hibernate to be enhanced to have a notion of set-once, which would be
stated in the HBM file. This would make a property immutable, with the sole setting of
that property to be done on reading in from the database. On save, a set-once property
would be assumed to have already been set--hibernate would not set it itself when saving,
only when reading.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira