【发布时间】:2010-03-15 21:02:21
【问题描述】:
如何防止 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>
【问题讨论】:
-
架构中的超类型是否会导致问题?
-
是的,是添加ID字段,不需要
-
嗯 @XmlTransient 应该对属性起作用。你试过把它放在吸气剂上吗?