On Dec 11, 2007, at 8:02 PM, Bill Burke wrote:

I was looking at the XML mapping support for Hibernate recently and have some questions/suggestions.

One thing that seriously annoyed me was that if you do not have embed-xml="true" you can never get access to an association/ relationship in XML format. This means that I cannot have embed- xml="false" and load the relationship with a fetch join. Is there any particular reason I'm missing here on why it was implemented in this fashion?
Consistency. Partially it has to do with avoiding circular references as you mention below, but that is really a choice for the person doing the mapping (hence why embed-xml is even an *option*). The bigger issue here imo is the fact that the nature of XML suggests that we are discussing structured data; structure which is generally described by a schema or DTD. What you do not like is the "static" nature of the choice...

I am not "an XML person". However, I believe there is an approach which would be great and which XML supports, but I am not certain. I am talking about representing the association as a "link" (potentially) to another part of the document describing the associated data on the basis that it may be shared:
<person id="1">
    <name>Bill Burke</name>
<!- here, an 'employer' element would "link" to the <company id="1"/> reference below -->
</person>

<company id="1">
    ...
</company>

Then, if the association data is uninitialized you would still have the "link", but the entity data would not be included in the document.

I think that would be a great feature/option and would gladly accept patches for that.
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to