我有一个像

public class Grandpa...

public class Father extends Grandpa...

public class Son extends Father...

我想将其编码到带有propOrder批注的文件中。

所以我可以在爷爷上使用@XmlTransient并在父亲类上设置propOrder,但是
我如何将propOrder应用于所有3个类?

据我了解,“@ XmlTransient”方法仅适用于一个 super 类和一个子类?

最佳答案

在就类而言,当您在类上指定@XmlTransient时,会将其从继承层次结构中删除,并且其属性被视为其子级的一部分。这意味着,如果您将Father标记为 transient ,则可以将其属性包含在propOrderSon中。如果将GrandpaFather标记为 transient ,则可以将这两个类的属性都包括在propOrderSon中。

如果没有@XmlTransient,您仍然可以使用propOrder,但是在该propOrder中,您只能指定与该类相对应的属性。这对应于扩展复杂类型出现的元素顺序,继承的属性首先出现。

有关更多信息

  • http://blog.bdoughan.com/2012/08/jaxbs-xmltransient-and-property-order.html
  • 07-28 01:22