我发现了一个棘手的错误:
如果我定义 metadata-xml-binding 如下
<?xml version="1.0"?>
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="package" xml-mapping-metadata-complete="true">
<xml-schema element-form-default="QUALIFIED" />
<java-types>
<java-type name="SearchResult">
<xml-root-element/>
<java-attributes>
<xml-element java-attribute="count"/>
<xml-element java-attribute="requestParameters"/>
<xml-element java-attribute="pageSize"/>
<xml-element java-attribute="sortDirection"/>
<xml-elements java-attribute="results">
<xml-element name="GaDictionaryElement" type="it.ga.model.GaDictionary">
<xml-element-wrapper name="GaDictionaryElementWrapper" />
</xml-element>
<xml-element name="OrganizationUnitElement" type="it.ga.model.OrganizationUnit">
<xml-element-wrapper name="OrganizationUnitElementWrapper" />
</xml-element>
<xml-element name="PersonElement" type="it.ga.model.Person">
<xml-element-wrapper name="PersonElementWrapper" />
</xml-element>
<xml-element name="Empty" type="java.lang.String">
<xml-element-wrapper name="EmptyWrapper" nillable="true"/>
</xml-element>
</xml-elements>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
我已经看到<xml-element-wrapper>
标签不起作用,因为它位于<xml-element>
标签周围的<xml-elements>
标签中。所以我一直在寻找一种以干净的方式解决这个问题的方法。List<?>
因为当我的类的结果为空时,我需要一个空节点。一个非常糟糕的解决方法是创建许多不同的绑定文件,因为我有多种类型的List<?>
结果,但我不喜欢这样!
此外,是否有人尝试创建一个对实现特定接口的类有用的绑定文件?例如,我只能看到绑定文件上定义的对象的属性并指定接口名称为类型?我看过这个:[博客]:http ://blog.bdoughan.com/2010/07/moxy-jaxb-map-interfaces-to-xml.html#comment-form