Nós órfãos em JPA com CascadeType.ALL
Apesar de empregar CascadeType.ALL do JPA, os nós órfãos persistem no banco de dados, dificultando a exclusão. Para resolver esse problema, existem várias abordagens, dependendo do provedor de persistência e da versão do JPA:
Configuração do Hibernate
Se estiver usando o Hibernate, defina explicitamente a anotação CascadeType.DELETE_ORPHAN em conjunto com JPA CascadeType.ALL:
@OneToMany(cascade = {CascadeType.ALL, CascadeType.DELETE_ORPHAN}) private Listbikes;
Solução JPA (sem Hibernate)
Na ausência do Hibernate, exclua explicitamente os elementos filhos antes de remover o registro pai:
JPA 2.0
JPA 2.0 introduz o atributo orphanRemoval:
@OneToMany(mappedBy="foo", orphanRemoval=true)
Ao definir orphanRemoval como true, o JPA excluirá automaticamente os registros filhos órfãos quando a entidade pai for removida.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3