Erro ao remover com Hibernate um Objeto (Pai) que tem um Set (Filhos) de Objeto.
Gostaria de remover Um Pai e seus filhos… é possivel? … só removendo o Objeto Pai
Remover os filhos do objeto Pai, somente do Set, não no banco, depois dar um Update no objeto pai é possivel?.. e tudo estará ok?
Contextualizando quando mandar atualizar o Pai queria que removesse os Filhos que não estão mais no Set, na verdade seria (tipo) sincronizar
porque estou falando isso, quando vou salvar e inserir novos objetos filhos funciona, porém se removo os objetos filhos, sem remover diretamente da base. e mando atualizar o Pai não remove os Filhos.
Não sei o que eu estou fazendo de errado, já li em vários lugares na Internet, também li que essa não é uma das formas mais recomendada porque?, mas ainda não sei o que existe de errado.
Esse é o erro. quando tento remover o objeto Pai,
Cannot delete or update a parent row: a foreign key constraint fails. Lógico tem uma fk que esta sendo desrespeitada.
Quanto aos filhos não da erro. mas também não remove
É possível fazer dessa forma que estou tentando?
O que há de errado nesse código?
Porque não remove os objetos Filhos quando atualizo o Pai?
Porque não remove o Objeto Pai quando este tem Filhos, se a propriedade cascade=CascadeType.ALL?
Isso diminuiria em muito o meu acesso a base de dados, e também aumentaria minha produtividade!
Aqui esta o código do pai…
public class SysPaper
{
@OneToMany(mappedBy = "paperId", targetEntity = SysPaperRole.class)
@Cascade(CascadeType.ALL)
private Set<SysPaperRole> roleSet;
}
Código filho…
public class SysPaperRole{
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "paperId", referencedColumnName = "id", insertable=true)
@Cascade(CascadeType.SAVE_UPDATE)
private SysPaper paperId;
}
Já li também muitos posts aqui no fórum mesmo, mas até agora nada.
Se alguém puder me da umas dicas desde já meu muito obrigado!