public void create(ItItemHasEmpleado itItemHasEmpleado) throws PreexistingEntityException, RollbackFailureException, Exception {
        if (itItemHasEmpleado.getItItemHasEmpleadoPK() == null) {
            itItemHasEmpleado.setItItemHasEmpleadoPK(new ItItemHasEmpleadoPK());
        }
        itItemHasEmpleado.getItItemHasEmpleadoPK().setITitemitserie(itItemHasEmpleado.getItItem().getItSerie());
        itItemHasEmpleado.getItItemHasEmpleadoPK().setEmpleadoempNoEmpleado(itItemHasEmpleado.getEmpleado().getEmpNoEmpleado());
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            Empleado empleado = itItemHasEmpleado.getEmpleado();
            if (empleado != null) {
                empleado = em.getReference(empleado.getClass(), empleado.getEmpNoEmpleado());
                itItemHasEmpleado.setEmpleado(empleado);
            }
            ItItem itItem = itItemHasEmpleado.getItItem();
            if (itItem != null) {
                itItem = em.getReference(itItem.getClass(), itItem.getItSerie());
                itItemHasEmpleado.setItItem(itItem);
            }
            em.persist(itItemHasEmpleado);
            if (empleado != null) {
                empleado.getItItemHasEmpleadoCollection().add(itItemHasEmpleado);
                empleado = em.merge(empleado);
            }
            if (itItem != null) {
                itItem.getItItemHasEmpleadoCollection().add(itItemHasEmpleado);
                itItem = em.merge(itItem);
            }
            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);
            }
            if (findItItemHasEmpleado(itItemHasEmpleado.getItItemHasEmpleadoPK()) != null) {
                throw new PreexistingEntityException("ItItemHasEmpleado " + itItemHasEmpleado + " already exists.", ex);
            }
            throw ex;
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }