Как создать индивидуальный первичный ключ в hyperjaxb3?

В настоящее время я использую hyperjaxb3 для создания классов Java из XSD, которые я использую для схемы БД. каждый раз, когда я генерирую Java-классы, он создает переменную с именем HJID, и этот HJID по умолчанию считается первичным ключом. я не хочу использовать этот HJID в качестве первичного ключа, поскольку я хочу создать свой собственный первичный ключ.

Может ли кто-нибудь сообщить мне об изменениях, которые мне нужно сделать в моем XSD, чтобы переопределить HJID?

1 ответ

Вы можете пометить существующее поле как ID, если это то, что вы хотите.

http://confluence.highsource.org/display/HJ3/Customization+Guide

<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>

Отказ от ответственности: я автор.

Другие вопросы по тегам