列挙制約を持つ要素を含む xsd ファイルがあります。
<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>
...
生成された Java クラスのフィールドを、値とCommsAddressType
を持つ生成された列挙型にしたいと思います。次に、Hibernate に、値との 2 つの行を含むテーブルを含むデータベース スキーマを自動的に生成してもらいたいと考えています。その後、テーブルはこれらを列で簡単に参照できます。EMAIL
PHONE
CommsAddressType
EMAIL
PHONE
Request
CommsAddressTypeId
現在、Hyperjaxb3は type のフィールドをRequest
持つ私のクラスを生成します:CommsAddressType
String
@XmlElement(name="CommsAddressType")
protected String commsAddressType
Request
また、テーブルCommsAddressType
に type の列が含まれるようにスキーマが生成されますVARCHAR
。これにより、不要な重複データが大量に発生することは明らかです。
私が上で説明したことを達成する方法はありますか?また、xsd を顧客に公開しているため、可能であればスキーマに jaxb または hyperjaxb タグを含めないようにしたいと考えています。