Отображение JAXB xjc на существующие доменные объекты
Я много занимался поиском и не могу найти краткий пример того, как сопоставить схему XML с существующими объектами домена вместо создания совершенно новых с использованиемxjc, Я создал файл bindings (xjb), но все еще не могу найти способ сделать это.
Если у меня есть существующий объект домена, который я хочу использовать в JAXB, например:
<code>package com.blah.domain; class CustomerOffice{ private int id; private String name; private String phone; } </code>
И у меня есть схема XML, как показано ниже:
<code><?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:www="http://www.blah.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.blah.com" elementFormDefault="unqualified"> <xs:element name="Customer"> <xs:complexType> <xs:sequence> <xs:element name="id" type="xs:int" nillable="false" minOccurs="1" maxOccurs="1"/> <xs:element name="name" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="CustomerOffice" type="www:CustomerOffice" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="CustomerOffice"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="length" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:schema> </code>
Если я пойду генерировать классы JAXB сxjc это создаст новый класс под названиемCustomer (который я хочу). Это также создаст новый класс с именемCustomerOffice (что я не хочу, я хочу, чтобы он использовал мой существующий объект домена).
Поэтому вместо схемы, указывающей на & quot; тип: www: CustomerOffice & quot; Я хотел бы использовать существующиеcom.blah.domain.CustomerOffice.
Я попытался сделать это как можно более простым примером, любая помощь приветствуется.