Tenho dois EM na aplicação, e quero pegar uma entidade de um e persistir no outro, só que dessa forma o hibernate não traz os objetos dependentes do objeto principal e então se eu persistir na outra base ele só persiste o objeto raíz.
Entidade A
Entidade B
A contêm vários B. Porém ao carregar A quero já automaticamente gravar seus dependentes em outro EM.
Têm como fugir do lazy nesse aspecto? Forçar o hibernate a carregar automaticamente todos os objetos dependentes e persistir tudo?
Em vez de fazer direto na configuração, que vai fazer com que isso sirva pra todo mundo, faça isso em uma query separada só pra esse lugar que você vai usar, assim você não fica carregando sempre apenas quando necessário.
Opa pessoa tudo blz? Dando um up aqui nessa thread pois estou com esse mesmo problema e tentei fazer com que carregasse o OneToMany pela NamedNativeQuery colocando no Select as duas tabelas que necessito que sejam carregadas só que mesmo assim não está carregando-a
@NamedNativeQuery(name="query", query="select tab1.*, tab2.* from tab1 inner join tab 2 on tab1.tab2Id = tab2.id", resultClass=Tab1.Class)
/* ... Atributo da tab2 */
@OneToMany(mappedBy = "tab2Id", fetch=FetchType.LAZY)
private List<Tab2> tab2Id;
a tab1 possui n tab2 (OneToMany) e é lazy pois carrego a tab1 em outros pontos da aplicação e não posso carregar também a tab2 pois deixará lento d+.
Estou fazendo da maneira correta? Não está funcionando e dá LazyInitializationException pois estou consumindo o EJB remoto utilizando XStream logo não tem como atualizar pelo “lazy loading”.