Como gerar as entidades filhas no processo de marshalling do JAXB utilizando @XmlID/@XmlIDREF

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