У меня есть файл XSD, который включает в себя элемент с перечислением ограничений:Hyperjaxb3: Создание таблицы поиска из перечисления элементов
<xs:complexType name="Request">
<xs:sequence>
<xs:element name="CommsAddress" type="xs:string" />
<xs:element name="CommsAddressType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="EMAIL"/>
<xs:enumeration value="PHONE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
...
Я хотел бы CommsAddressType
поля в созданном классе Java, чтобы быть порожденным перечислением с значения EMAIL
и PHONE
. В свою очередь, я хотел бы, чтобы Hibernate автоматически генерировал мою схему базы данных с таблицей CommsAddressType
, содержащей две строки со значениями EMAIL
и PHONE
. Таблица Request
может просто ссылаться на них с помощью столбца CommsAddressTypeId
.
В настоящее время Hyperjaxb3 генерирует мой Request
класс с CommsAddressType
полем типа String
:
@XmlElement(name="CommsAddressType")
protected String commsAddressType
и схема создается таким образом, что Request
таблица имеет CommsAddressType
столбец типа VARCHAR
. Это, очевидно, приведет к большому количеству ненужных дублированных данных.
Есть ли способ достичь того, что я описал выше? Кроме того, поскольку я подвергаю xsd моему клиенту, я хотел бы избежать включения любых ярлыков jaxb или hyperjaxb в схему, если это возможно.