微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 编组时如何防止JAXB绑定@XmlRootElement的超类方法?

我有一个类被注释为@XmlAccessorType(XmlAccesstype.NONE)的@XmlRootElement.我遇到的问题是超类的方法被绑定,当我不希望它们被绑定,并且不能更新类.我希望有一个注释,我可以放在根元素类,以防止这种情况发生.

例:

@XmlRootElement
@XmlAccessorType(XmlAccesstype.NONE)
public class Person extends Namedobject {

    @XmlElement
    public String getId() { ... }

}

我希望只有注释@XmlElement on Person上的方法才会被绑定和编组,但是超类的方法也被绑定.所得到的XML然后具有太多的信息.

如何防止超类的方法被绑定而不必注释超类本身?

解决方法

根据这个StackOverflow的帖子:
How can I ignore a superclass?

JAX-B无法忽略超类而不修改超类.
引用该职位的相关部分:

Update2: I found 07001 for a similar problem. That thread resulted in an 07002,which was marked as a duplicate of 07003,which resulted in the @XmlTransient annotation. The comments on these bug reports lead me to believe this is impossible in the current spec.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐