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 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(); } } }