Relacionamento one-to-many não deleta parte mais fraca  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
danilo.dct
Debugger
[Avatar]

Membro desde: 19/07/2008 22:46:24
Mensagens: 53
Localização: Recife - PE
Offline

Olá pessoal, meu problema é o seguinte:

tenho um relacionamento entre PROCESSO e OBJETO, onde um PROCESSO possui zero ou vários OBJETOs. Para isso fiz:

Processo.hbm.xml


e em Objeto.hbm.xml


Com isto, vamos exemplificar: em dado momento o PROCESSO "P" possui os OBJETOs "O1" e "O2". Daí o usuário deseja que apenas o objeto "O1" continue associado a "P". Como eu utilizo Struts2, na Action eu pego os OBJETOs e seto no PROCESSO e daí então mando atualizar o PROCESSO "P".

Daí o que acontece é: o Hibernate atualiza a tabela OBJETO para que apenas o OBJETO "O1" esteja associado a "P", porém o outro OBJETO continua na tabela, com o campo processo_id NULL. A minha questão é: como fazer para que o Hibernate delete este registro, e não apenas sete o processo_id para NULL.

Desde já agradeço a ajuda de todos!

abs,

Computer Science Graduated Student - CIn/UFPE - 2008
Hebertbc
JavaChild
[Avatar]

Membro desde: 07/11/2008 20:27:15
Mensagens: 113
Localização: Campo Grande / MS
Offline

Sou novato no hibernate, mais qdo passei por um problema parecido utilizei o CASCADE.ALL

This message was edited 1 time. Last update was at 11/03/2010 15:26:23


C'est la vie monsieur excentrique...
danilo.dct
Debugger
[Avatar]

Membro desde: 19/07/2008 22:46:24
Mensagens: 53
Localização: Recife - PE
Offline

e aew Hebertbc,

valeu pela atenção aew...
mas como vc pode ver no código que postei, eu já estou utilizando cascade="all" no mapeamento:



mas pelo que sei, cascade="all" serveria se eu deletasse o objeto PROCESSO, pois ai todos os OBJETOS associados ao meu PROCESSO seriam deletados também.

Computer Science Graduated Student - CIn/UFPE - 2008
Hebertbc
JavaChild
[Avatar]

Membro desde: 07/11/2008 20:27:15
Mensagens: 113
Localização: Campo Grande / MS
Offline

Aki ta um trechodo meu codigo talvez vc entenda.



Quando removo um objeto da lista(gruposchecklistList) e salvo o Agendamento, ele é deletado do banco ficando somente os que continuam na lista.

C'est la vie monsieur excentrique...
apalmeira
Java Ninja

Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline

Alguem consegui resolver, estou com o mesmo problema?

O registro é eliminado da collection, porém, permanece no banco de dados e quando o objeto movimento é recarregado a despesa aparece novamente.






apalmeira
Java Ninja

Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline

Resolvi adicionando @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)

 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team