Java 如何使用XJC为属性添加@XmlTransient注释
我有一个XSD,希望将一些属性标记为XmlTransient,这样这些属性将由XJC在Java中生成,并由JAXB进行编组和解编组来忽略 我可以修改XSD,但不知道应该在xs:annotation标记中放入什么来定制JAXB绑定 这是到目前为止我的XSDJava 如何使用XJC为属性添加@XmlTransient注释,java,jaxb,xsd,hyperjaxb,xmltransient,Java,Jaxb,Xsd,Hyperjaxb,Xmltransient,我有一个XSD,希望将一些属性标记为XmlTransient,这样这些属性将由XJC在Java中生成,并由JAXB进行编组和解编组来忽略 我可以修改XSD,但不知道应该在xs:annotation标记中放入什么来定制JAXB绑定 这是到目前为止我的XSD <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hj="http://hy
<?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>
为此尝试插件。(迪克莱默:我是作者。)
有一个例子是@XmlRootElement
,@xmltransive
类似
<annox:annotate target="class">
<annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
namespace="someNamespace"/>
</annox:annotate>
模式表示实例的结构,因此如果它在模式中,它将在实例中。如果不希望数据以XML表示,只需将其从XSD中删除即可。您可以对生成的类进行子类化,并添加标记为@XmlTransient的新属性,这些属性将不会在XML中持久化。我正试图使用相同的想法来标记字段transient。但似乎不起作用。@MandarKulkarni不幸的是,这是“不起作用”注释的类型,没有人可以对其进行任何处理。问另一个问题,详细描述你的问题,展示你迄今为止所做的努力,然后也许你会得到帮助。至于现在,“似乎不起作用”的答案是,也许你做错了什么。