DELETE com ou sem INNER JOIN(HQL(?

3 respostas
R

Boa Noite, estou com uma dúvida para utilizar o Delete no Hibernate

Preciso fazer uma exclusão utilizando o HQL, que seria o seguinte
Tenho varias frequencias registradas em uma tabela, um dos campos dessa frequencia é uma FK da reuniao.
Queria fazer algo do tipo

DELETE FROM Frequencia WHERE reuniao.reun_codigo = ?
Em que o ? seria o código da reunião

só que não está dando certo

nas pesquisas utilizo o hibernateDaoSupport do Spring, então faço assim a pesquisa:

from Frequencia f INNER JOIN f.reuniao r WHERE r.reun_codigo = ?

Preciso do INNER JOIN, na pesquisa.Só que no DELETE não ta dando certo…Porque não quero deletar a reunião junto, só a frequencia vinculada a essa reunião

Algum exemplo?

3 Respostas

gibaholms

não consegue colocar delete-cascade na associação ? Ai eh soh deletar a região q a freq vai junto

R

É que não é isso que eu quero…
Por exemplo eu não quero que quando deletar a reunião as frequencias vão embora, entende?
Tentar explicar um pouco melhor a arquitetura(está meio complicada)…

Assim tem um cadastro de reuniões.Com os campos normais data,local,tipo, entre outros
Mas daí preciso cadastrar no banco de dados quais membros(previamente cadastrados no sistema) estavam presentes nessa reunião.Então criei o objeto Frequencia, com o frq_codigo(necessário para o hibernate), uma FK para a tabela de membro(para saber qual é o membro dessa frequencia), uma FK para a tabela de reunião(para saber qual reunião é) e um campo booleano marcando se ele estava presente naquela reunião.
Então eu teria o seguinte, no sistema tem uma picklist.Quando não há nenhuma frequencia cadastrada para aquela reunião, eu coloco todos os membros do lado esquerdo, então, marco os que estavam presentes para o lado direito.E quando eu salvo crio uma frequencia para cada membro, marcando true ou false no campo booleano conforme o lado que ele esteja.Deu, para entender melhor?

Vamos supor que eu queira apenas deletar a frequencia, e não a reunião junto.

R

Editado: Post duplicado, devido a erro no GUJ.No primeiro post me apareceu uma mensagem de erro no servidor ao enviar a mensagem…

Criado 4 de março de 2009
Ultima resposta 5 de mar. de 2009
Respostas 3
Participantes 2