Duvida com saveOrUpdate no hibernate

0 respostas
G

Pessoal,
tenho um exemplo de mapeamento:

class Escola {

@OneToMany

List professores;

}
class Professor {

@OneToMany

List alunos;
@ManyToOne

Escola escola;

}
class Aluno {

@ManyToOne

Professor professor;

}

Digamos que as 3 classes possuem id e name como unique. Atualmente eu estou persistindo assim:

escola (nome: escola1, alunos: {joao, maria})

Session session = sessionFactory.openSession();

session.beginTransaction();

session.saveOrUpdate(escola);

session.getTransaction().commit();

Agora digamos que uma vez que os dados estejam persistidos, eu tenha outro objeto escola contendo os mesmos dados do que esta persistido (exceto o id) e um aluno a mais na lista:

escola (nome: escola1, alunos: {joao, maria, jose})

Eu queria que ao executar o session.saveOrUpdate(escola), ele reconhecesse que escola1 ja esta cadastrada e entao fizesse um update adicionando o aluno jose. Mas so executando o saveOrUpdate da erro de constraint devido a coluna nome ser unique=true.

Alguma ideia?

Criado 8 de agosto de 2011
Respostas 0
Participantes 1