a variavel contato é um obj que realmente existe na lista de empresas. Ele sai da lista, porém o jpa nao o exclui do banco. Deveria uma ves que a anotação possui o atributo cascade = CascadeType.ALL.
como assim ? o metodo atualizar executa algo como:
getEm().merge(o);getEm().flush();
onde o metodo getEm() retorna o entity manager.
abrassss
diegosantiviago
certo, é que não tinha nada ali dizendo como você utiliza o entity manager, inclusive se sua instancia é associada a um contexto de persistencia…
renanreismartins
sim utilizo… tem alguma ideia ?
abrasss
Tchello
Só por curiosidade, a sua entidade sobrescreve equals e hashcode?
Seguinte, você precisa remover o item da lista, remove-lo separadamente do BD e atualizar a lista, veja os passos:
1- Identifica e remove o item da lista
2- remove o item do bd
3- da um merge na entidade que tem a lista
Tive um problema semelhante, procurei no livo Enterprise JavaBeans 3.0 do Bill Burke e dizia pra fazer algo semelhante a isso.
Abraços.
renanreismartins
Tchello valeu amigo, fiz algo semelhante e funcionou. Do modo que estava fazendo nao estava dando certo devido ao lado fraco da relação.
grande abrassss
Tchello
Que bom Renan! Fiquei contente por você!
No problema semelhante que tive as vezes a lista tinha N elementos que deveriam ser removidos, daí usei o método removeAll da interface List (no caso implementado pela ArrayList) pra fazer a diferença da lista antiga com a lista nova…
Abraços!