When you specify @XmlTransient
on a class as far as JAXB is concerned you remove it from the inheritance hierarchy and its properties are considered part of its children. This means if you mark Father
as transient you can include its properties in the propOrder
for Son
. If you mark Grandpa
and Father
as transient then you could include the properties from both classes in the propOrder
for Son
.
Without @XmlTransient
you can still use propOrder
, but in that propOrder
you can only specify the properties that correspond to that class. This corresponds to the ordering of elements that occurs with extended complex types, inherited properties appear first.
For More Information