public void create(Laptops laptops) throws PreexistingEntityException, RollbackFailureException, Exception {
        if (laptops.getComputadoraCollection() == null) {
            laptops.setComputadoraCollection(new ArrayList<Computadora>());
        }
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            Collection<Computadora> attachedComputadoraCollection = new ArrayList<Computadora>();
            for (Computadora computadoraCollectionComputadoraToAttach : laptops.getComputadoraCollection()) {
                computadoraCollectionComputadoraToAttach = em.getReference(computadoraCollectionComputadoraToAttach.getClass(), computadoraCollectionComputadoraToAttach.getIdComputadora());
                attachedComputadoraCollection.add(computadoraCollectionComputadoraToAttach);
            }
            laptops.setComputadoraCollection(attachedComputadoraCollection);
            em.persist(laptops);
            for (Computadora computadoraCollectionComputadora : laptops.getComputadoraCollection()) {
                Laptops oldLaptopsidLaptopOfComputadoraCollectionComputadora = computadoraCollectionComputadora.getLaptopsidLaptop();
                computadoraCollectionComputadora.setLaptopsidLaptop(laptops);
                computadoraCollectionComputadora = em.merge(computadoraCollectionComputadora);
                if (oldLaptopsidLaptopOfComputadoraCollectionComputadora != null) {
                    oldLaptopsidLaptopOfComputadoraCollectionComputadora.getComputadoraCollection().remove(computadoraCollectionComputadora);
                    oldLaptopsidLaptopOfComputadoraCollectionComputadora = em.merge(oldLaptopsidLaptopOfComputadoraCollectionComputadora);
                }
            }
            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 (findLaptops(laptops.getIdLaptop()) != null) {
                throw new PreexistingEntityException("Laptops " + laptops + " already exists.", ex);
            }
            throw ex;
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }