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

marcinko (JIRA) jira-events at lists.jboss.org
Thu Mar 6 05:45:59 EST 2008


    [ http://jira.jboss.com/jira/browse/HIBERNATE-50?page=comments#action_12401543 ] 
            
marcinko commented on HIBERNATE-50:
-----------------------------------

If anyone cares, I find it strange that this simple annoyance is being overlooked as something unusual.

For instance, I have a User entity with Address embeddable (having city, country...), and in web frameworks that I used, I always have User editing web page having text field bound to some Address field, specified in  some expression language in HTML template like:
"user.address.city"

And if my Address in User is not set, NPE will get raised. So I need to have this Address field always set, even in cases when it is empty (as it is always during User creation). I don't get Gavin's opinion that there is something wrong with empty embeddables. Embeddable in that case is just encapsulated group of optional fields.

As said, manually not allowing null embeddables to get set inside setters brings constant dirty state of the entity, which will ultimately lead to constant SQL update, which is annoying at least.

As suggested, it would be best if empty/null embeddable values should be configurable, but if that's not possible, I think empty value should be default.


> 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