使用JAXB以不同方式使用Marshal模型

时间:2014-01-21 14:57:21

标签: java xml hibernate jaxb

当然,这个问题在任何地方都被问过,但没找到合适的解决方案:

是否有可能使用JAXB将模型编组为不同的XML或以不同的方式。我仍然使用Jackson将此模型序列化为JSON,我可以使用@JsonView或JsonMixins将其序列化为不同的json布局。

拥有这个模型:

public class Customer {
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    private int id;

    public String getLastName() { return lastName; }
    public void setLastName(String lastName) { this.lastName = lastName; }
    private String lastName;

    public String getFirstName() { return firstName; }
    public void setFirstName(String firstName) { this.firstName = firstName; }
    private String firstName;
}

应编组为:

<customer>
    <lastName>name</lastName>
<customer>

<customer>
    <id>name</id>
    <lastName>name</lastName>
    <firstName>firstname</firstName>
<customer>

我在stackoverflow上发现了thisthis,但建议使用EclipseLink JAXB。但不幸的是,Hibernate作为持久性提供程序仍在使用中。 EclipseLink和Hibernate(都是O / R映射器)不能真正协同工作 - 不是吗?

是否有可能使用JAXB将模型编组到不同的xml?

1 个答案:

答案 0 :(得分:0)

  

我在stackoverflow上找到了这个和这个帖子,但建议是   使用EclipseLink JAXB。但不幸的是Hibernate作为一种持久性   提供商仍在使用中。 EclipseLink和Hibernate(都是O / R   mapper)不会真正合作 - 不是吗?

EclipseLink提供JPA(O / R)和MOXy(O / X(JAXB)&amp; O / J)。您可以毫不费力地将EclipseLink O / X与Hibernate O / R一起使用。

使用EclipseLink MOXy,您可以使用对象图功能将模型的子集输出到XML或JSON。