public void destroy(String id) throws NonexistentEntityException {
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     Permisos permisos;
     try {
       permisos = em.getReference(Permisos.class, id);
       permisos.getUsuarioId();
     } catch (EntityNotFoundException enfe) {
       throw new NonexistentEntityException(
           "The permisos with id " + id + " no longer exists.", enfe);
     }
     Usuario usuario = permisos.getUsuario();
     if (usuario != null) {
       usuario.setPermisos(null);
       usuario = em.merge(usuario);
     }
     em.remove(permisos);
     em.getTransaction().commit();
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }
 public void edit(Permisos permisos)
     throws IllegalOrphanException, NonexistentEntityException, Exception {
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     Permisos persistentPermisos = em.find(Permisos.class, permisos.getUsuarioId());
     Usuario usuarioOld = persistentPermisos.getUsuario();
     Usuario usuarioNew = permisos.getUsuario();
     List<String> illegalOrphanMessages = null;
     if (usuarioNew != null && !usuarioNew.equals(usuarioOld)) {
       Permisos oldPermisosOfUsuario = usuarioNew.getPermisos();
       if (oldPermisosOfUsuario != null) {
         if (illegalOrphanMessages == null) {
           illegalOrphanMessages = new ArrayList<String>();
         }
         illegalOrphanMessages.add(
             "The Usuario "
                 + usuarioNew
                 + " already has an item of type Permisos whose usuario column cannot be null. Please make another selection for the usuario field.");
       }
     }
     if (illegalOrphanMessages != null) {
       throw new IllegalOrphanException(illegalOrphanMessages);
     }
     if (usuarioNew != null) {
       usuarioNew = em.getReference(usuarioNew.getClass(), usuarioNew.getId());
       permisos.setUsuario(usuarioNew);
     }
     permisos = em.merge(permisos);
     if (usuarioOld != null && !usuarioOld.equals(usuarioNew)) {
       usuarioOld.setPermisos(null);
       usuarioOld = em.merge(usuarioOld);
     }
     if (usuarioNew != null && !usuarioNew.equals(usuarioOld)) {
       usuarioNew.setPermisos(permisos);
       usuarioNew = em.merge(usuarioNew);
     }
     em.getTransaction().commit();
   } catch (Exception ex) {
     String msg = ex.getLocalizedMessage();
     if (msg == null || msg.length() == 0) {
       String id = permisos.getUsuarioId();
       if (findPermisos(id) == null) {
         throw new NonexistentEntityException("The permisos with id " + id + " no longer exists.");
       }
     }
     throw ex;
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }
 public int getLastId() {
   Session session = sessionFactory.openSession();
   Transaction tx = null;
   List results = null;
   Usuario u = new Usuario();
   int a = 0;
   try {
     tx = session.beginTransaction();
     Criteria criteria = session.createCriteria(Usuario.class);
     criteria.addOrder(Order.asc("id"));
     results = criteria.list();
     u = (Usuario) results.get(results.size() - 1);
     tx.commit();
   } catch (Exception e) {
     if (tx != null) tx.rollback();
     e.printStackTrace();
   } finally {
     session.close();
   }
   return u.getId();
 }
  public String create() {
    try {
      String nomeUsuario =
          FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName();

      List<Usuario> l = ejbFacadeUsuario.findAll();

      for (Usuario u : l) {
        if (u.getNome().toLowerCase().equals(nomeUsuario.toLowerCase())) {
          getCurrent().setUsuarioId(u);
          break;
        }
      }

      getFacade().create(getCurrent());
      JsfUtil.addSuccessMessage(ResourceBundle.getBundle("/Bundle").getString("DespesasCreated"));
      return prepareCreate();
    } catch (Exception e) {
      JsfUtil.addErrorMessage(
          e, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
      return null;
    }
  }
 public void create(Permisos permisos)
     throws IllegalOrphanException, PreexistingEntityException, Exception {
   List<String> illegalOrphanMessages = null;
   Usuario usuarioOrphanCheck = permisos.getUsuario();
   if (usuarioOrphanCheck != null) {
     Permisos oldPermisosOfUsuario = usuarioOrphanCheck.getPermisos();
     if (oldPermisosOfUsuario != null) {
       if (illegalOrphanMessages == null) {
         illegalOrphanMessages = new ArrayList<String>();
       }
       illegalOrphanMessages.add(
           "The Usuario "
               + usuarioOrphanCheck
               + " already has an item of type Permisos whose usuario column cannot be null. Please make another selection for the usuario field.");
     }
   }
   if (illegalOrphanMessages != null) {
     throw new IllegalOrphanException(illegalOrphanMessages);
   }
   EntityManager em = null;
   try {
     em = getEntityManager();
     em.getTransaction().begin();
     Usuario usuario = permisos.getUsuario();
     if (usuario != null) {
       usuario = em.getReference(usuario.getClass(), usuario.getId());
       permisos.setUsuario(usuario);
     }
     em.persist(permisos);
     if (usuario != null) {
       usuario.setPermisos(permisos);
       usuario = em.merge(usuario);
     }
     em.getTransaction().commit();
   } catch (Exception ex) {
     if (findPermisos(permisos.getUsuarioId()) != null) {
       throw new PreexistingEntityException("Permisos " + permisos + " already exists.", ex);
     }
     throw ex;
   } finally {
     if (em != null) {
       em.close();
     }
   }
 }