Boa tarde Jedis do GUJ, tudo bem?
Tenho um problema que não sei nem como pesquisar na net por ele. Se vcs me ajudarem só nisso eu já agradeço e tento me virar.
Seguinte, eu tenho:@Entity
class Employee {
@ManyToMany
List<Classification> classification;
@ManyToMany
List<Classification> interest;
}
O hibernate gerou apenas uma tabela para essas duas relações. Assim:
Employee_Classification
- Employee_Id
- classification_id
- interest_id
Até aí tudo bem, achei a solução até interessante.
O problema, é na hora de atualizar os dados nessa tabela. Olha que legal:
Eu adiciono novos itens e persisto, ok, sem problemas.
Mas quando eu faço um update, ele exclui os itens de uma relação.
Eu acompanhei o log gerado pelo hibernate e que o acontece é o seguinte:-- vai salvar a relação classification:
-- DELETE * FROM Employee_Classification WHERE Employee_Id = xpto;
-- insere todos os itens da coleção classification;
--vai salvar a relação interests:
-- DELETE * FROM Employee_Classification WHERE Employee_Id = xpto; <-------- (aqui está o problema)
-- insere todos os itens da coleção interest
O segundo delete (que acontece quando vai inserir a coleção interests), remove os intens da coleção classification que acabaram de ser inseridos.
=/
Alguém já passou por isso ou por alguma situação semelhante?
Ou tem como eu forçar que o hibernate crie uma tabela para cada relação?
Valeu pela atenção turma.