Hibernate

3 respostas
W
Tenho uma classe Aluno e outra Telefone, onde na classe aluno o mapeamento do hibernate está como:

@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = aluno)

public List getTelefones() {

return this.telefones;

}
em Telefone esta mapeado da seguinte maneira:

@ManyToOne(cascade = {}, fetch = FetchType.LAZY)

@JoinColumn(name = telalucodigo, unique = false, nullable = false, insertable = false, updatable = false)

public Aluno getAluno() {

return this.aluno;

}

Quando tento remover um aluno está dando a seguinte mensagem:

org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [br.com.siate.dominio.Telefone#br.com.siate.dominio.TelefoneId@5b10]

O interessante que o erro ocorre somente dentro da interface com o usário, pois criei um classe de teste de interface e consegui remover sem problemas!!!

Help me!!!

3 Respostas

W
<blockquote><div class="quote-author">tonfaria:</div>Tenho uma classe Aluno e outra Telefone, onde na classe aluno o mapeamento do hibernate está como:

@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = “aluno”)

public List getTelefones() {

return this.telefones;

}
em Telefone esta mapeado da seguinte maneira:

@ManyToOne(cascade = {}, fetch = FetchType.LAZY)

@JoinColumn(name = telalucodigo, unique = false, nullable = false, insertable = false, updatable = false)

public Aluno getAluno() {

return this.aluno;

}

Quando tento remover um aluno está dando a seguinte mensagem:

org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [br.com.siate.dominio.Telefone#br.com.siate.dominio.TelefoneId@5b10]

O interessante que o erro ocorre somente dentro da interface com o usário, pois criei um classe de teste de interface e consegui remover sem problemas!!!

Help me!!!

nicholas.bittencourt

Sempre ouvi dizer que essa associação bidirecional entre classes não era muito bonita e podia causar probleas de OO. Acredito que seja isso que o Hibernate esteja reclamando. Quando você excluir o Aluno1, certifique-se que os telefones dele não estão amarrados a outra classe qualquer.
Mas isso é um chute, okz?

BiraBoy

Não seria o caso de colocar um DELETE_ORPHAN na classe pai?

Criado 17 de junho de 2007
Ultima resposta 27 de jun. de 2007
Respostas 3
Participantes 3