java - ¿impide que schemagen agregue la superclase al esquema?
jaxb (1)
¿Cómo evito que schemagen agregue la superclase al esquema?
He intentado usar XMLTransient
en la XMLTransient
y en sus campos, pero aún aparecen en el esquema.
por ejemplo :
@XmlTransient
public class Asset {
@XmlTransient
public Long ID;
}
public class Movie extends Asset {
}
crea este esquema:
<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>
Has encontrado la respuesta tú mismo. Si agrega la anotación @XMLTransient
a un campo, JAXB omitirá la generación de Java-a-esquema. Aquí se indica la documentación de XMLTransient .
Si su herramienta schemagen
que está utilizando no hace esto, entonces tiene una falla en su implementación.