[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3824: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3826: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3827: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3828: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
Next Framework • Ver Tópico - Deletar filhos de forma programática [RESOLVIDO]
Página 1 de 1

Deletar filhos de forma programática [RESOLVIDO]

MensagemEnviado: Ter Ago 03, 2010 1:23 am
por rodrigofsacht
Olha só, tenho a seguinte dúvida. Quero deletar um "MESTRE" e quero que os "DETALHES", no caso os filhos também sejam excluídos.

:roll: OBS: Não tenho interesse em usar tática no banco, via on delete cascade. quero que o banco impessa isso, como é o padrão. E quando for deletar o mestre, eu mesmo delete os filhos manualmente.

Vi num screencast que uma solução seria sobrescrever o método delete() do MESTRE, tentei horas seguidas e não consegui. Alguém já fez isso.

Re: Deletar filhos de forma programática

MensagemEnviado: Ter Ago 03, 2010 6:31 pm
por rogelgarcia
Olá rodrigo.. a maneira mais fácil de fazer isso é..

No DAO do mestre.. vc sobrescreve o delete e faz o seguinte...

- Carrega os detalhes do mestre
- Faz um for nos detalhes.. e deleta cada um
- Deleta o mestre...


Tem outras alternativas.. como.. executar um comando para deletar todos os detallhes do mestre por exemplo...

Mas aí.. já envolve vc criar a query..

No seu DAO vc pode usar o getHibernateTemplate().. para executar comandos ou queries do hibernate
ou
getJDBCTemplate() para executar queries JDBC

Re: Deletar filhos de forma programática

MensagemEnviado: Qua Ago 04, 2010 1:45 am
por rodrigofsacht

Re: Deletar filhos de forma programática

MensagemEnviado: Qua Ago 04, 2010 2:29 am
por rodrigofsacht

Re: Deletar filhos de forma programática

MensagemEnviado: Qua Ago 04, 2010 6:34 pm
por rogelgarcia
Olá rodrigo..

A forma que vc mencionou não funciona.. pois ao deletar um registro.. apenas o campo ID do objeto (mestre).. estará preenchido.. então você precisa buscar as outras informacoes (detalhes) caso precise utilizá-las

Re: Deletar filhos de forma programática [RESOLVIDO]

MensagemEnviado: Qua Ago 04, 2010 6:59 pm
por rodrigofsacht
Então beleza.. vou usar desse.

Ainda tenho que aprender melhor sobre o hibernate, mas por enquando isso basta. Vou marcar como resolvido e se encontrar outras informações relevantes sobre esse tema vou complementar o tópioco..

VALEU