JAXB - 排除XML输出中的必需元素

时间:2017-11-17 16:31:29

标签: java xml jaxb

我有一个JAXB / JPA数据模型,它读取XML,生成JAXB模型并存储到数据库中,数据库中需要一些元素,并且需要存在于XML字符串中。

@Entity
@XmlRootElement(name = "Environment")
public class Environment {

    @Id
    @XmlAttribute
    private String id;

    @XmlElement
    private String status;

    //... more elements, getters/setters etc
}

但是为了从DB读取并生成XML输出,我想从XML字符串中排除一些元素,在我的示例中是status字段。如何才能做到这一点?排除我知道的元素的唯一方法是用@XmlTransient注释它们,这在这里不起作用,因为它导致这些元素被排除在输入XML解析之外,因此它们不会被存储进入DB。

@Entity
@XmlRootElement(name = "Environment")
public class Environment {

    @Id
    @XmlAttribute
    private String id;

    // This doesnt work for my case
    @XmlTransient
    private String status;

    //... more elements, getters/setters etc
}

所以这两个选项对我来说似乎是互斥的,我可以用其他任何简单的方式实现我的用例吗?或者我是否需要进行一些自定义封送处理?

0 个答案:

没有答案