java jaxb schemagen

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.