java - JAXB:第三方或外部父类(super class)上的@XmlTransient

标签 java xml jakarta-ee jaxb

关于 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/

相关文章:

java - 合并实体后的 Flush() 问题

mysql - 删除父级时 Hibernate/MySQL 级联错误

java - Maven 构建成功但未找到 .class 文件

c++ - 通过 OpenSSL (c++) 以 XML (w3c) 格式保存 RSA 公钥和私钥

java - 将 CDI 限定符转移到注入(inject)字段

java返回类型错误及错误处理

java - 这里不需要方法引用表达式,编译时错误

java - gpg --list-keys 为空但文件解密 bouncycaSTLe 加密文件

java - 同时测试浏览器;接收错误

c# - cdata-section-elements 不工作