[
http://jira.jboss.com/jira/browse/HIBERNATE-50?page=comments#action_12357076 ]
M R commented on HIBERNATE-50:
------------------------------
public void setSomeAttributes(EAttrs someAttributes) {
this.someAttributes = (someAttributes == null) ? new EAttrs() : someAttributes;
}
be careful - this workaround doesn't work, because when reding from the database,
hibernate inserts a null value und as long as the object is managed it assumes that there
is null !!! This means in transaction managed environments reading from the database will
result in an update whenever a flush happens - because you changed the attribute of the
entity !
The next time you read it from the db, hibernate again inserts null - and the game repeats
! This bug is very anoying when writing histories of changed entities. So there is no
change, but many versions :-(
Embedded Objects get set to null if all its members are null
------------------------------------------------------------
Key: HIBERNATE-50
URL:
http://jira.jboss.com/jira/browse/HIBERNATE-50
Project: Hibernate
Issue Type: Bug
Environment: WinXP SP2, JBoss 4.0.4 GA as well as JBoss 4.0.5 GA, installation
profile ejb3
Reporter: milan w?lke
Assigned To: Steve Ebersole
When having an embedded object only containing members of non-simple-types (e.g. String)
and fetching it with the entity manager the following happens:
If all columns, the embedded objects values are based on, are null the embedded object
itself is set to null even if a non-arg-constructor set it to a non-null value before. A
valid workaround is to include a member of a simple-type (e.g. int) in the embedded
object. Doing this not all the values can be set to null, which results in not setting the
embedded object itself to null, too.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira