{IndirectList: not instantiated}

6 respostas
L

Bom dia galera,

Tô com um probleminha aqui…

tenho um vo de paciente e neste vo tenho um list de consultas (um paciente hospitalar pode ter várias consultas)

está mapeado da seguinte maneira:

PacienteVO

    @OneToMany(mappedBy = "paciente")
    private List<ConsultaVO> consultas;
ConsultaVO

    @ManyToOne
    private PacienteVO paciente;

na hora que vou excluir um paciente, mesmo que ele naum possua nenhuma consulta, estou obtendo o seguinte erro: “Entity must be managed to call remove: vo.PacienteVO@40578d, try merging the detached and try the remove again.”

debuguei a aplicação e dando um system “System.out.println(pacienteVO.getConsultas());” recebo o seguinte retorno no console “{IndirectList: not instantiated}”

Alguém sabe o que pode estar acontecendo???

6 Respostas

rafagil

Você só pode remover um objeto se ele estiver persistido na base, e se o seu bean estiver no estado “managed”.

Tente rodar o método merge antes de fazer a exclusão (Na vdd é isso que diz a sua mensagem de erro)

P

O paciente deve estar sendo “gerenciado” pelo persistence context, ou seja, você está tentando remover uma detached entity.
Faça um find neste paciente e procure remover em seguida.

L

pois é eu já estou fazendo um FIND e tb um MERGE antes de removê-lo…

L

e ai pessoal alguém já passou por isso?

J

Algúem ja resolveu esse tipo de problema?

R

Estou com o mesmo problema…alguém já resolveu esse problema?

grato

Criado 21 de agosto de 2008
Ultima resposta 28 de mai. de 2010
Respostas 6
Participantes 5