Estou com um probleminha com o JPA que é o seguinte, eu tenho a classe ModeloEstoquePecas, aonde teoricamente preciso deletar tudo primeiro, que são os registros filhos da classe EstoquePecas, com o código abaixo que eu vou estar colocando o que acontece e não consigo resolver ele teoricamente deleta, mais na hora que vai excluir o registro pai que é o EstoquePecas ele encontra os registros filhos e dá erro para excluir por causa que ele achou os filhos, como resolver essa situação.
public List<ModeloEstoquePecas> destroyByCodigoEstoquePecas (List<ModeloEstoquePecas> listaModeloEstoquePecas) {
EntityManager em = getEntityManager();
if (listaModeloEstoquePecas != null) {
try {
em.getTransaction().begin();
for (ModeloEstoquePecas modeloEstoquePeca : listaModeloEstoquePecas) {
modeloEstoquePeca = em.merge(modeloEstoquePeca);
em.remove(modeloEstoquePeca);
}
em.flush();
em.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
em.close();
}
}
return listaModeloEstoquePecas;
}
Log:
br.com.escconsultoria.escoficina.controller.exceptions.IllegalOrphanException: This EstoquePecas (br.com.escconsultoria.escoficina.model.entity.EstoquePecas[ codigoEstoquePecas=8 ]) cannot be destroyed since the ModeloEstoquePecas br.com.escconsultoria.escoficina.model.entity.ModeloEstoquePecas[ modeloEstoquePecasPK=br.com.escconsultoria.escoficina.model.entity.ModeloEstoquePecasPK[ codigoEstoquePecas=8, codigoModelo=1 ] ] in its modeloEstoquePecasList field has a non-nullable estoquePecas field.