Ola,
Tenho as seguintes classes de negócio em um relacionamento 1 : N. Onde a entidade “Construtora” tem N “Empreendimentos”.
[code]class ConstrutoraImpl {
@XmlID
private long id;
String nome;
String contato;
String telefone;
@XmlIDREF
@XmlList
private List empreendimentos;
}[/code]
[code]class EmpreeendimentoImpl {
@XmlID
private long id:
String nome;
String endereco;
private ConstrutoraImpl construtora;
}[/code]
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>
Na geração do XML as informações sobre o filho “Empreendimentos” não estao sendo geradas no XML. Como é possivel gerar um XML completo com todas as entidades referenciadas por id? O Uso dos annotations @XmlID/@XmlIDREF serve para fazer a referencia por ID e nao contendo diretamente as entidades filhas.
Obrigado!
André Moutinho