public void create(ConfigDecripcionLogin configDecripcionLogin) {
        if (configDecripcionLogin.getCmProfesionalesList() == null) {
            configDecripcionLogin.setCmProfesionalesList(new ArrayList<CmProfesionales>());
        }
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            ConfigLogin idLogin = configDecripcionLogin.getIdLogin();
            if (idLogin != null) {
                idLogin = em.getReference(idLogin.getClass(), idLogin.getId());
                configDecripcionLogin.setIdLogin(idLogin);
            }
            List<CmProfesionales> attachedCmProfesionalesList = new ArrayList<CmProfesionales>();
            for (CmProfesionales cmProfesionalesListCmProfesionalesToAttach : configDecripcionLogin.getCmProfesionalesList()) {
                cmProfesionalesListCmProfesionalesToAttach = em.getReference(cmProfesionalesListCmProfesionalesToAttach.getClass(), cmProfesionalesListCmProfesionalesToAttach.getId());
                attachedCmProfesionalesList.add(cmProfesionalesListCmProfesionalesToAttach);
            }
            configDecripcionLogin.setCmProfesionalesList(attachedCmProfesionalesList);
            em.persist(configDecripcionLogin);
            if (idLogin != null) {
                idLogin.getConfigDecripcionLoginList().add(configDecripcionLogin);
                idLogin = em.merge(idLogin);
            }
            for (CmProfesionales cmProfesionalesListCmProfesionales : configDecripcionLogin.getCmProfesionalesList()) {
                ConfigDecripcionLogin oldIdDescripcionLoginOfCmProfesionalesListCmProfesionales = cmProfesionalesListCmProfesionales.getIdDescripcionLogin();
                cmProfesionalesListCmProfesionales.setIdDescripcionLogin(configDecripcionLogin);
                cmProfesionalesListCmProfesionales = em.merge(cmProfesionalesListCmProfesionales);
                if (oldIdDescripcionLoginOfCmProfesionalesListCmProfesionales != null) {
                    oldIdDescripcionLoginOfCmProfesionalesListCmProfesionales.getCmProfesionalesList().remove(cmProfesionalesListCmProfesionales);
                    oldIdDescripcionLoginOfCmProfesionalesListCmProfesionales = em.merge(oldIdDescripcionLoginOfCmProfesionalesListCmProfesionales);
                }
            }
            em.getTransaction().commit();
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }