[
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