Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-dev] How can I get the child entitites on a XML marshalling using @XmlID and @XmlIDREF annotations. I only get the parent entity and not the children nodes.

Hello all,

I want to generate an XML file of an object tree with 1:N
relashionship. I am using the @XmlID and @XmlIDREF annotations. The
entity "construtora" has N "empreendimentos" entitites related.

The root class is :

class ConstrutoraImpl {
  private long id;

  String nome;
  String contato;
  String telefone;

  private List<Empreendimento> empreendimentos;

class Empreeendimento {
  private long id:
  String nome;
  String endereco;

  private Construtora construtora;

The java code to generate the XML file is:

JAXBContext context = (JAXBContext) JAXBContext.newInstance(new
Class[]{ConstrutoraImpl.class, EmpreendimentoImpl.class});
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(construtora, System.out);

The resulting XML file is:
<?xml version="1.0" encoding="UTF-8"?>
   <empreendimentos>74 75</empreendimentos>

The "empreendimentos" child entities are missing. How can I generate a
XML with all the child entitites and the root entity?

All the Best,
André Moutinho

Back to the top