У меня есть куча аннотированных классов JAXB, у которых есть общее поле, поэтому я переместил это поле в суперкласс, например этот
public class Base {
protected SomeType commonField;
}
@XmlRootElement(name = "foo") @XmlType(propOrder = { "commonField", "fooField" })
public class Foo extends Base {
private SomeOtherType fooField;
}
@XmlRootElement(name = "bar") @XmlType(propOrder = { "commonField", "barField" })
public class Bar extends Base {
private SomeOtherType barField;
}
Теперь, когда я сортирую один из Foo
или Bar
, я получаю IllegalAnnotationException
, жалующийся на commonField
, который указан в propOrder
, но не присутствует в классе. Удаление из аннотации propOrder
все работает нормально, но я должен был отобразить все отображаемые поля. Что мне не хватает?