如何在HyperJaxb3中将生成的属性注释为Transient

时间:2018-04-02 14:57:11

标签: java orm transient hyperjaxb

我只想拥有一个实体的属性作为瞬态。 HyperJaxb的旧文档[1]似乎不可用,而Github [2]上的文档对我没有帮助。

我尝试使用embeddable / embeddable属性和generated-id构造但没有成功。

我有一个如下模型,我希望在生成的类中将lastActivityTime作为Transient。该字段的当前注释是我不成功的尝试。

<xsd:complexType name="ProcessInstanceGroupDAO">
    <xsd:sequence>
        <xsd:element name="Name" type="xsd:string"/>
        <xsd:element name="archived" type="xsd:boolean"/>
        <xsd:element name="lastActivityTime">
            <xsd:annotation>
                <xsd:appinfo>
                    <hj:persistence>
                        <hj:embeddable merge="false">
                            <orm:embeddable-attributes>
                                <orm:transient name="lastActivityTime"></orm:transient>
                            </orm:embeddable-attributes>
                        </hj:embeddable>
                    </hj:persistence>
                </xsd:appinfo>
            </xsd:annotation>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

[1] confluence.highsource.org/display/HJ3/Customization+Guide

[2] https://github.com/highsource/hyperjaxb3/wiki/Customization_Guide

1 个答案:

答案 0 :(得分:1)

只需使用<hj:ignored/>注释即可。该属性将使用@Transient进行注释。

<xsd:complexType name="ProcessInstanceGroupDAO">
    <xsd:sequence>
        <xsd:element name="Name" type="xsd:string"/>
        <xsd:element name="archived" type="xsd:boolean"/>
        <xsd:element name="lastActivityTime">
            <xsd:annotation>
                <xsd:appinfo>
                    <hj:ignored/>
                </xsd:appinfo>
            </xsd:annotation>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

免责声明:我是Hyperjaxb的作者。不幸的是,我不再积极开发它。