如何防止schemagen将超类添加到架构中?
我尝试在超类和它的字段上使用XMLTransient,但它们仍然显示在模式中。
例如:
@XmlTransient
public class Asset {
@XmlTransient
public Long ID;
}
public class Movie extends Asset {
}创建此架构:
<xs:complexType name="asset">
<xs:sequence>
<xs:element name="ID" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="movie">
<xs:complexContent>
<xs:extension base="asset">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
the schema that i would like to see is :
<xs:complexType name="movie">
<xs:complexContent>
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>发布于 2010-05-16 18:55:10
你已经自己找到了答案。如果将@XMLTransient注释添加到字段,则JAXB Java- to -schema生成将省略该注释。XMLTransient documentation在这里说明了这一点。
如果您正在使用的schemagen工具不能做到这一点,那么它的实现就有问题。
https://stackoverflow.com/questions/2450464
复制相似问题