возможно ли с JAXB упорядочить два или более элементов в одно поле объекта домена?

У меня есть две разные XML-структуры, которые я хотел бы сопоставить с одним объектом домена. Я использую поддержку внешней привязки MOXy, поэтому могу выбирать, какую привязку использовать динамически.

Вот мой вопрос. У меня есть XML-структура, подобная приведенной ниже:

<entity>
   <compoundID_one>foo</compoundID_one>
   <compoundID_two>bar</compoundID_two>
</entity>

Я хотел бы иметь одно поле List<String> в моем классе домена, которое содержало бы 'foo' и 'bar'

Я пробовал это:

...
<java-attributes>
    <xml-elements>
        <xml-element java-attribute="idList" name="compoundID_one" />
        <xml-element java-attribute="idList" name="compoundID_two" />
    </xml-elements>
</java-attributes>
...

но я просто получаю null для поля в объекте домена. Если я опущу оболочку xml-elements, я получу только один из составных идентификаторов в списке.

Я нашел этот вопрос который, кажется, предполагает, что это должно сработать. Я что-то делаю не так или есть способ лучше?


person BigBen    schedule 10.04.2013    source источник


Ответы (1)


У меня просто неверный XML привязки, он должен быть:

...
<java-attributes>
    <xml-elements java-attribute="idList">
        <xml-element name="compoundID_one" />
        <xml-element name="compoundID_two" />
    </xml-elements>
</java-attributes>
...

Теперь все работает нормально.

person BigBen    schedule 10.04.2013