Tenho uma classe A, com um relacionamento com uma classe B.
A classe A possui uma List. Quando incluo um objeto B na list da classe A, o hibernate persiste os objetos B normalmente, mas quando excluo algum ítem da list, o hibernate não remove do banco de dados. Existe alguma maneira de fazer isto?
[quote=rodrigomarcelo][quote=Hebert Coelho][quote]A a = entityManager.find(A.class, 1);
a.getBs().remove(b);
entityManager.commit();[/quote]
// basta fazer isso.[/quote]
é assim que estou fazendo mesmo, mas sem sucesso… Porém estou usando Session, ao invés de EntityManager… Poderia ser isto?[/quote]Não. Acho que é mais como você está fazendo.
[quote=Hebert Coelho][quote=rodrigomarcelo][quote=Hebert Coelho][quote]A a = entityManager.find(A.class, 1);
a.getBs().remove(b);
entityManager.commit();[/quote]
// basta fazer isso.[/quote]
é assim que estou fazendo mesmo, mas sem sucesso… Porém estou usando Session, ao invés de EntityManager… Poderia ser isto?[/quote]Não. Acho que é mais como você está fazendo.
[quote=luksrn][quote=rodrigomarcelo][quote=Hebert Coelho][quote]A a = entityManager.find(A.class, 1);
a.getBs().remove(b);
entityManager.commit();[/quote]
// basta fazer isso.[/quote]
é assim que estou fazendo mesmo, mas sem sucesso… Porém estou usando Session, ao invés de EntityManager… Poderia ser isto?[/quote]
Para remover do modo que Hebert Coelho falou tem de definir o método equals e hashcode, você está fazendo isso?[/quote]
Estou sim!
Consegui a solução!
Por incrível que pareça, o problema estava em uma ou mais bibliotecas do hibernate no meu projeto. Resolvi apagando tudo e baixando a versão mais nova.
Agora estou com uns métodos obsoletos pra trocar, mas isso é o de menos =D