Я работаю над созданием объектов Java из файла XSD с использованием JAXB 2.1. В XSD-файле есть несколько элементов, представляющих объекты бизнес-модели с такими общими именами, как Account и т. Д. Система, использующая сгенерированные файлы для развязывания XML, имеет несколько конфликтующих имен классов в своей модели домена. Хотя мы можем использовать разные имена пакетов, чтобы обойти конфликты имен классов, я думаю, что будет более удобочитаемым/поддерживаемым, чтобы иметь объекты разных имен.Опции для JAXB 2.1 Настройка привязок
Из-за этого я хотел бы изменить компиляцию XJC, чтобы создавать объекты типа DataTransferAccount.java и т. Д. Вместо Account.java. Супер, я буду использовать один из двух вариантов JAXB обеспечивает при связывании схемы (http://java.sun.com/webservices/docs/2.0/tutorial/doc/JAXBUsing4.html):
- Инлайн адаптации - Авторство самого XSD с использованием пространством имен JAXB, чтобы указать имена классов
- Внешних привязки Файла - Обеспечить дополнительный файл для XJC, который имеет правила о том, как сопоставлять элементы схемы с java-классами
Есть ли хороший аргумент в пользу использования варианта 1, помимо простоты использования? Наивно, я искушаюсь использовать его, потому что это легко, но по дороге я вижу головные боли в обслуживании, если мы решим отказаться от XML-расклассификации JAXB.
Спасибо за ответ. Я должен был быть более конкретным в вопросе о столкновении имен - это столкновение имен с объектом XML Schema и существующим объектом модели в приложении. Но да, это будет исправление пакета. –