如何在hyperjaxb3中创建自定义主键?

时间:2014-05-22 06:12:06

标签: xsd hyperjaxb

目前我正在使用hyperjaxb3从 XSD 生成java类,我将其用于数据库模式。 每次我生成java类时,它都会创建一个名为 HJID 的变量,默认情况下,此 HJID 被视为主键。我不想将此 HJID 用作主键,因为我想创建自己的主键。

任何人都可以告诉我在 XSD 中需要做的更改,以覆盖 HJID 吗?

1 个答案:

答案 0 :(得分:1)

如果符合您的要求,您可以将现有字段标记为ID。

http://confluence.highsource.org/display/HJ3/Customization+Guide#CustomizationGuide-Selectingtheidentifierproperty

<xs:complexType name="myType">
    <xs:sequence>
        <!-- ... -->
        <xs:element name="id" type="xs:int" minOccurs="0">
            <xs:annotation>
                <xs:appinfo>
                    <hj:id>
                        <orm:column name="MY_ID"/>
                        <orm:generated-value strategy="SEQUENCE" generator="my-sequence"/>
                        <orm:sequence-generator name="my-sequence" sequence-name="MY_SEQ"/>
                    </hj:id> 
                </xs:appinfo>
            </xs:annotation>
        </xs:element>
        <!-- ... -->
    </xs:sequence>
</xs:complexType>

免责声明:我是作者。