gpt4 book ai didi

java - 如何使用 XJC 为属性添加 @XmlTransient 注释

转载 作者:行者123 更新时间:2023-12-01 13:27:55 36 4
gpt4 key购买 nike

我有一个 XSD,想要将一些属性标记为 XmlTransient,以便 XJC 在 Java 中生成这些属性,并通过 JAXB 编码和解编码忽略这些属性。

我可以修改 XSD,但不知道应该在 xs:annotation 标记中放入什么内容来自定义 JAXB 绑定(bind)。

这是到目前为止我的 XSD

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hj="http://hyperjaxb3.jvnet.org/ejb/schemas/customizations" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" jaxb:extensionBindingPrefixes="hj orm">
<xs:complexType name="tripRegisterType">
<xs:annotation>
<xs:appinfo>
<hj:entity>
<orm:table name="simplemaketripprocess_tripregistertype" />
</hj:entity>
<hj:generated-id name="tripregistertypeid" />
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="startDate" type="xs:date">
<xs:annotation>
<xs:appinfo>
<hj:basic>
<orm:column name="startDate" column-definition="timestamp" />
</hj:basic>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="endDate" type="xs:date">
<xs:annotation>
<xs:appinfo>
<hj:basic>
<orm:column name="endDate" column-definition="timestamp" />
</hj:basic>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="want_flight" type="xs:boolean" />
<xs:element name="want_hotel" type="xs:boolean" />
<xs:element name="want_car" type="xs:boolean" />
<xs:element name="payAccNumber" type="xs:string" />

<!-- THE NEXT COLOUMS I'D LIKE TO BE XML TRANSIENT-->

<xs:element name="companyid" type="xs:long" />
<xs:element name="groupid" type="xs:long" />
<xs:element name="userid" type="xs:long" />
<xs:element name="username" type="xs:string" />
<xs:element name="createDate" type="xs:date">
<xs:annotation>
<xs:appinfo>
<hj:basic>
<orm:column name="createDate" column-definition="timestamp" />
</hj:basic>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="modifiedDate" type="xs:date">
<xs:annotation>
<xs:appinfo>
<hj:basic>
<orm:column name="modifiedDate" column-definition="timestamp" />
</hj:basic>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

最佳答案

尝试Annotate为此的插件。 (免责声明:我是作者。)有一个 @XmlRootElement 示例,@XmlTransient 是类似的。

<annox:annotate target="class">
<annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
namespace="someNamespace"/>
</annox:annotate>

关于java - 如何使用 XJC 为属性添加 @XmlTransient 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21711183/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com