Почему простой режим JJXB 2 RI XJC меняет имена коллекций? - PullRequest
10 голосов
/ 01 марта 2011

Режим простого связывания JAXB изменяет имена коллекций на их множественное число «версия», например «AdditionalData» становится «AdditionalDatas». Есть ли решение, чтобы изменить это поведение? Мне нужно, чтобы имя поля Java и имя метода были равны имени поля XSD. Файл моих привязок:

<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
            xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
            xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
            xsi:schemaLocation="
http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1">
  <globalBindings>
    <serializable uid="1" />
    <xjc:simple/>
  </globalBindings>
</bindings>

1 Ответ

6 голосов
/ 01 марта 2011

«Простой режим привязки» является расширенной функцией JAXB RI (Metro).Создание множественных имен свойств коллекции было частью его дизайна.

From: http://weblogs.java.net/blog/kohsuke/archive/2007/01/using_jaxb_ris.html

Моя любимая особенность в JAXB RI - более простой и лучший режим привязки, который делаетсгенерированный код еще проще в использовании, благодаря ...

  1. максимально возможное исключение JAXBElement
  2. Предоставление более точного связывания в целом
  3. Использование множественного числаимена свойств, где это применимо

Вы можете использовать обычные настройки схемы для управления именем свойства.Обратитесь к одному из моих предыдущих ответов (ссылка ниже):

...