[
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 {
@XmlID
private long id;
String nome;
String contato;
String telefone;
@XmlIDREF
@XmlList
private List<Empreendimento> empreendimentos;
}
class Empreeendimento {
@XmlID
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"?>
<construtora>
<id>75</id>
<empreendimentos>74 75</empreendimentos>
<contato>contato1</contato>
<nome>nome1</nome>
<telefone>telefone1</telefone>
</construtora>
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