关于 JAXB 2.1 的以下问题,我需要一些帮助。
示例:我创建了一个扩展抽象类 Person 的 SpecialPerson 类。 现在我想使用 JAXB 将我的对象结构转换为 XML 模式。因此,我不希望 Person XML 类型出现在我的 XML 模式中以保持模式简单。相反,我希望 Person 类的字段出现在 SpecialPerson XML 类型中。
通常我会在类级别将注解@XmlTransient 添加到Person 代码中。
问题是 Person 是第三方类,我不可能在这里添加 @XmlTransient。我如何告诉 JAXB 它应该忽略 Person 类而不注释该类。是否可以通过某种方式在外部进行配置?
你以前遇到过同样的问题吗?任何想法这个问题的最佳解决方案是什么?
最佳答案
好吧,这是你知道的痛苦。最后,在筛选了许多博客帖子之后,这就是我所做的,
像这样在'第三方类'包中添加了一个package-info.java类,
@javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.NONE) 打包第三方包;
在我的例子中,它只是一个包,所以很简单。显然,您必须为每个单独的包结构执行此操作。我还没有尝试在主包级别进行。
关于java - JAXB:第三方或外部父类(super class)上的@XmlTransient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2543823/