Pessoal,
Após procurar em vão no google e no forum por uma solução para o meu problema, resolvi postar esse topico.
Estou com o seguinte problema:
Eu tenho um objeto do tipo Usuario chamado usuarioBase.
usuarioBase tem uma lista de Irmaos
Tenho um segundo objeto chamado usuario que eu preciso adicionar na lista de irmaos do usuarioBase e tenho que atualizar no banco o usuarioBase.
Quando tento atualizar o usuarioBase, dá erro (Hibernate Exception: Illegal attempt to associate a collection with two open sessions)
Tentei, para testar, gravar apenas o objeto usuario. Gravou perfeitamente. Mas se tento atualizar o usuarioBase já com a lista alterada, ocorre este erro.
Segue o código:
public String cadastrar() throws Exception{
Long id = Long.parseLong(this.idUsuario);
Usuario usuarioBase = Progenes.obtemUsuario(id);
if(this.tipoParente.equals("irmao")){
usuario.setSexo("M");
usuario.setNivel(10);
usuario.setFamilia(usuarioBase.getFamilia());
usuarioBase.getListaDeIrmaos().add(this.usuario);
Registry.getUsuarioRepository().atualizar(usuarioBase);
}
this.tituloMensagem = "Cadastro realizado com sucesso";
this.linkCadastro = "prepararCadastrarUsuario.action";
this.linkFiltro = "prepararConsultarUsuario.action";
this.mensagem = "Cadastro de Usuário realizado com sucesso.";
return OK;
}
O que pode ser?