[jboss-jira] [JBoss JIRA] Commented: (HIBERNATE-50) Embedded Objects get set to null if all its members are null

M R (JIRA) jira-events at lists.jboss.org
Thu Mar 22 16:32:39 EDT 2007


    [ 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

        



More information about the jboss-jira mailing list