public void destroy(Integer id) throws NonexistentEntityException {
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     Telefonos telefonos;
     try {
       telefonos = em.getReference(Telefonos.class, id);
       telefonos.getId();
     } catch (EntityNotFoundException enfe) {
       throw new NonexistentEntityException(
           "The telefonos with id " + id + " no longer exists.", enfe);
     }
     DatosPersonales codigoPersona = telefonos.getCodigoPersona();
     if (codigoPersona != null) {
       codigoPersona.getTelefonosCollection().remove(telefonos);
       codigoPersona = em.merge(codigoPersona);
     }
     em.remove(telefonos);
     em.getTransaction().commit();
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }
 public void edit(Telefonos telefonos) throws NonexistentEntityException, Exception {
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     Telefonos persistentTelefonos = em.find(Telefonos.class, telefonos.getId());
     DatosPersonales codigoPersonaOld = persistentTelefonos.getCodigoPersona();
     DatosPersonales codigoPersonaNew = telefonos.getCodigoPersona();
     if (codigoPersonaNew != null) {
       codigoPersonaNew =
           em.getReference(codigoPersonaNew.getClass(), codigoPersonaNew.getCodigo());
       telefonos.setCodigoPersona(codigoPersonaNew);
     }
     telefonos = em.merge(telefonos);
     if (codigoPersonaOld != null && !codigoPersonaOld.equals(codigoPersonaNew)) {
       codigoPersonaOld.getTelefonosCollection().remove(telefonos);
       codigoPersonaOld = em.merge(codigoPersonaOld);
     }
     if (codigoPersonaNew != null && !codigoPersonaNew.equals(codigoPersonaOld)) {
       codigoPersonaNew.getTelefonosCollection().add(telefonos);
       codigoPersonaNew = em.merge(codigoPersonaNew);
     }
     em.getTransaction().commit();
   } catch (Exception ex) {
     String msg = ex.getLocalizedMessage();
     if (msg == null || msg.length() == 0) {
       Integer id = telefonos.getId();
       if (findTelefonos(id) == null) {
         throw new NonexistentEntityException(
             "The telefonos with id " + id + " no longer exists.");
       }
     }
     throw ex;
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }
 public void create(Telefonos telefonos) {
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     DatosPersonales codigoPersona = telefonos.getCodigoPersona();
     if (codigoPersona != null) {
       codigoPersona = em.getReference(codigoPersona.getClass(), codigoPersona.getCodigo());
       telefonos.setCodigoPersona(codigoPersona);
     }
     em.persist(telefonos);
     if (codigoPersona != null) {
       codigoPersona.getTelefonosCollection().add(telefonos);
       codigoPersona = em.merge(codigoPersona);
     }
     em.getTransaction().commit();
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }