Denovo Relacionamento many-to-many Hibernate Annotations  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Bom dia pessoal. Antes de mais nada, pelo que observei o forum esta cheio de topicos a respeito do assunto que vou pedir a ajuda de vcs, mas, eu nao consegui resolver o meu problema e por isso resolvi abrir mais um topico. Por favor moderadores me desculpem.

O meu problema é o seguinte. Tenho duas entitys: Aluno e Turma. Elas tem um relacionamento many-to-many bidirecionais. A entity Turma é a dona do relacionamento. Pela entity Turma ser a owner assim que ela for persistida a entity Aluno tambem tem que ser persistida. Mas a entity Aluno nao é persistida e nem a tabela TurmaAluno que contem as chaves primary de Aluno e Turma.
Abaixo esta o codigo de cada entity e a classe que executa a persistencia.

A Entity Aluno:


Agora a Entity Turma:



Agora a classe que executa a persistencia...



O que pode estar acontecendo? Obrigado

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
Guto_Magalhaes
JavaTeenager
[Avatar]

Membro desde: 11/06/2007 11:51:52
Mensagens: 180
Offline

Cara, talvez seja no xml o problema. Tente o seguinte. Faça os relacionamentos no banco ao invez de fazer no hibernate. Vc sabe, many-to-many em modelagem de dados vc deve criar outra tabela, que ira receber as chaves de aluno e de turma. Ai, vc tira as relações do xml do hibernate e trata os atributos que usava para fazer as relações como propertyes normal. Se ocorrer uma violação, o proprio banco ira se proteger.

Espero ter ajudado. Se não, este material pode te ajudar.

Falow ae.
 Nome do arquivo intruducao_hibernate3_guj.pdf [Disk] Download
 Descrição
 Tamanho 298 Kbytes
 Baixado:  119 vez(es)

omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Conseguir solucionar, mas nao entendi o erro que deu...
Se acaso eu declarar o relacionamento assim:


E eu persistir assim:


O erro é esse:


Mas se eu mudar o CascadeType de CascadeType.PERSIST para CascadeType.SAVE_UPDATE ele nao da erro e persiste normalmente..

Pelo que li. O CascadeType.PERSIST é assim: os objetos associados vão ser inseridos automaticamente quando o objeto "pai" for inserido;

E o CascadeType.SAVE_UPDATE: os objetos associados vão ser inseridos ou atualizados automaticamente quando o objeto "pai" for inserido ou atualizado;

Para a persistencia entre esse relacionamento que eu coloquei o Cascade nao poderia ser qualquer um desses que falei?

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
_Zell_
Debugger
[Avatar]

Membro desde: 21/07/2010 15:44:12
Mensagens: 66
Offline

Olá pessoal.
Eu estou com esse mesmo problema e só consegui recolver usando CascadeType.ALL. Só que o problema disso é que quando ele apaga qualquer uma das duas entidades relacionadas ele apaga as duas. Sendo que eu quero apenas retirar o relacionamento, que no caso do exemplo desde tópico seria um registro da tabela AlunoTurma. Até agora eu não to conseguindo resolver isso -.-

Se alguém puder dar uma luz ai...

Abraço!
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team