1

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

任何人都可以让我知道我需要在我的XSD中进行哪些更改以覆盖HJID吗?

4

1 回答 1

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>

免责声明:我是作者。

于 2014-07-04T15:47:16.847 回答