public void destroy(Integer id) throws NonexistentEntityException, RollbackFailureException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Funcao funcao; try { funcao = em.getReference(Funcao.class, id); funcao.getId(); } catch (EntityNotFoundException enfe) { throw new NonexistentEntityException( "The funcao with id " + id + " no longer exists.", enfe); } Collection<PessoaFisicaJuridica> pessoaFisicaJuridicaCollection = funcao.getPessoaFisicaJuridicaCollection(); for (PessoaFisicaJuridica pessoaFisicaJuridicaCollectionPessoaFisicaJuridica : pessoaFisicaJuridicaCollection) { pessoaFisicaJuridicaCollectionPessoaFisicaJuridica.setFuncaoFk(null); pessoaFisicaJuridicaCollectionPessoaFisicaJuridica = em.merge(pessoaFisicaJuridicaCollectionPessoaFisicaJuridica); } Collection<PessoaFisicaJuridicaHistorico> pessoaFisicaJuridicaHistoricoCollection = funcao.getPessoaFisicaJuridicaHistoricoCollection(); for (PessoaFisicaJuridicaHistorico pessoaFisicaJuridicaHistoricoCollectionPessoaFisicaJuridicaHistorico : pessoaFisicaJuridicaHistoricoCollection) { pessoaFisicaJuridicaHistoricoCollectionPessoaFisicaJuridicaHistorico.setFuncaoFk(null); pessoaFisicaJuridicaHistoricoCollectionPessoaFisicaJuridicaHistorico = em.merge(pessoaFisicaJuridicaHistoricoCollectionPessoaFisicaJuridicaHistorico); } em.remove(funcao); em.getTransaction().commit(); } catch (Exception ex) { try { em.getTransaction().rollback(); } catch (Exception re) { throw new RollbackFailureException( "An error occurred attempting to roll back the transaction.", re); } throw ex; } finally { if (em != null) { em.close(); } } }
public void edit(Funcao funcao) throws NonexistentEntityException, RollbackFailureException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Funcao persistentFuncao = em.find(Funcao.class, funcao.getId()); Collection<PessoaFisicaJuridica> pessoaFisicaJuridicaCollectionOld = persistentFuncao.getPessoaFisicaJuridicaCollection(); Collection<PessoaFisicaJuridica> pessoaFisicaJuridicaCollectionNew = funcao.getPessoaFisicaJuridicaCollection(); Collection<PessoaFisicaJuridicaHistorico> pessoaFisicaJuridicaHistoricoCollectionOld = persistentFuncao.getPessoaFisicaJuridicaHistoricoCollection(); Collection<PessoaFisicaJuridicaHistorico> pessoaFisicaJuridicaHistoricoCollectionNew = funcao.getPessoaFisicaJuridicaHistoricoCollection(); Collection<PessoaFisicaJuridica> attachedPessoaFisicaJuridicaCollectionNew = new ArrayList<PessoaFisicaJuridica>(); for (PessoaFisicaJuridica pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridicaToAttach : pessoaFisicaJuridicaCollectionNew) { pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridicaToAttach = em.getReference( pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridicaToAttach.getClass(), pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridicaToAttach.getId()); attachedPessoaFisicaJuridicaCollectionNew.add( pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridicaToAttach); } pessoaFisicaJuridicaCollectionNew = attachedPessoaFisicaJuridicaCollectionNew; funcao.setPessoaFisicaJuridicaCollection(pessoaFisicaJuridicaCollectionNew); Collection<PessoaFisicaJuridicaHistorico> attachedPessoaFisicaJuridicaHistoricoCollectionNew = new ArrayList<PessoaFisicaJuridicaHistorico>(); for (PessoaFisicaJuridicaHistorico pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistoricoToAttach : pessoaFisicaJuridicaHistoricoCollectionNew) { pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistoricoToAttach = em.getReference( pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistoricoToAttach .getClass(), pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistoricoToAttach .getId()); attachedPessoaFisicaJuridicaHistoricoCollectionNew.add( pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistoricoToAttach); } pessoaFisicaJuridicaHistoricoCollectionNew = attachedPessoaFisicaJuridicaHistoricoCollectionNew; funcao.setPessoaFisicaJuridicaHistoricoCollection(pessoaFisicaJuridicaHistoricoCollectionNew); funcao = em.merge(funcao); for (PessoaFisicaJuridica pessoaFisicaJuridicaCollectionOldPessoaFisicaJuridica : pessoaFisicaJuridicaCollectionOld) { if (!pessoaFisicaJuridicaCollectionNew.contains( pessoaFisicaJuridicaCollectionOldPessoaFisicaJuridica)) { pessoaFisicaJuridicaCollectionOldPessoaFisicaJuridica.setFuncaoFk(null); pessoaFisicaJuridicaCollectionOldPessoaFisicaJuridica = em.merge(pessoaFisicaJuridicaCollectionOldPessoaFisicaJuridica); } } for (PessoaFisicaJuridica pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica : pessoaFisicaJuridicaCollectionNew) { if (!pessoaFisicaJuridicaCollectionOld.contains( pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica)) { Funcao oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica = pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica.getFuncaoFk(); pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica.setFuncaoFk(funcao); pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica = em.merge(pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica); if (oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica != null && !oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica.equals( funcao)) { oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica .getPessoaFisicaJuridicaCollection() .remove(pessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica); oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica = em.merge(oldFuncaoFkOfPessoaFisicaJuridicaCollectionNewPessoaFisicaJuridica); } } } for (PessoaFisicaJuridicaHistorico pessoaFisicaJuridicaHistoricoCollectionOldPessoaFisicaJuridicaHistorico : pessoaFisicaJuridicaHistoricoCollectionOld) { if (!pessoaFisicaJuridicaHistoricoCollectionNew.contains( pessoaFisicaJuridicaHistoricoCollectionOldPessoaFisicaJuridicaHistorico)) { pessoaFisicaJuridicaHistoricoCollectionOldPessoaFisicaJuridicaHistorico.setFuncaoFk(null); pessoaFisicaJuridicaHistoricoCollectionOldPessoaFisicaJuridicaHistorico = em.merge(pessoaFisicaJuridicaHistoricoCollectionOldPessoaFisicaJuridicaHistorico); } } for (PessoaFisicaJuridicaHistorico pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico : pessoaFisicaJuridicaHistoricoCollectionNew) { if (!pessoaFisicaJuridicaHistoricoCollectionOld.contains( pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico)) { Funcao oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico = pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico .getFuncaoFk(); pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico.setFuncaoFk( funcao); pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico = em.merge(pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico); if (oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico != null && !oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico .equals(funcao)) { oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico .getPessoaFisicaJuridicaHistoricoCollection() .remove(pessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico); oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico = em.merge( oldFuncaoFkOfPessoaFisicaJuridicaHistoricoCollectionNewPessoaFisicaJuridicaHistorico); } } } em.getTransaction().commit(); } catch (Exception ex) { try { em.getTransaction().rollback(); } catch (Exception re) { throw new RollbackFailureException( "An error occurred attempting to roll back the transaction.", re); } String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = funcao.getId(); if (findFuncao(id) == null) { throw new NonexistentEntityException("The funcao with id " + id + " no longer exists."); } } throw ex; } finally { if (em != null) { em.close(); } } }