@XmlIDREF和@XmlID如何编组嵌套集合?

时间:2018-04-27 18:53:46

标签: java xml jaxb

我在JAXB依赖项下面使用:

  <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-jaxb</artifactId>
        <version>2.23.2</version>
  </dependency>

我有一个包装类:

@XmlRootElement(name = "trainings")
public class ArrayListWrapper {
    private List<TrainingEntity> trainings = new ArrayList();
    //getters & setters here
}

TrainingEntity有一个属性:

@XmlIDREF
@XmlElementWrapper
public Set<ArticleEntity> getArticleEntities() { 
    return articleEntities; 
}

ArticleEntity具有属性:

@JsonIgnore
@XmlID
public String getStringId() {
    return article_id.toString();
}

@XmlIDREF
public Set<SectionEntity> getSectionEntitySet() { 
    return sectionEntitySet; 
}

SectionEntity具有属性:

@JsonIgnore
@XmlID
public String getStringId() {
    return section_id.toString();
}

我已配置资源:

// return all trainings => xml
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/all/xml")
public ArrayListWrapper getAllTrainingXml() {
    ArrayListWrapper w = new ArrayListWrapper();
    w.setTrainings(trainingRestService.getAllTrainings());
    return w;
}

在输出XML中忽略集合 sectionEntitySet

xml view snapshot

0 个答案:

没有答案