2013-12-16 47 views
3

我有一個像JAXB多重繼承propOrder

public class Grandpa... 

public class Father extends Grandpa... 

public class Son extends Father... 

的結構我想馬歇爾它propOrder註釋文件。

所以我可以在爺爺上使用@XmlTransient並且在父類上設置propOrder,但是 我怎樣才能把propOrder應用到所有3個類上?

據我所知'@ XmlTransient'方法只適用於一個超類和一個子類?

回答

1

當您在類中指定@XmlTransient就JAXB而言,將其從繼承層次結構中移除並將其屬性視爲其子項的一部分。這意味着如果您將Father標記爲瞬態,則可以在propOrder中包含其屬性Son。如果您將GrandpaFather標記爲瞬態,那麼您可以在propOrder中包含Son這兩個類中的屬性。

沒有@XmlTransient您仍然可以使用propOrder,但在那個propOrder中,您只能指定對應於該類的屬性。這對應於擴展複雜類型的元素排序,繼承屬性首先出現。

更多信息

+0

謝謝!在提問之前,我讀了很多你的文章:) 「如果你把爺爺和父親標記爲暫時的,那麼你可以在兩種類別的屬性中包含兒子的propOrder。」 但在這種情況下,不能在Father對象和Grandpa對象上使用proporder?所以在這種情況下,我可以只訂購Son類的實例字段? –

+0

@EugeneKisly - 沒錯。這是你正在尋找的行爲? –

+0

不,我正在尋找父對象,祖父對象和兒子對象的排序屬性。 –