Package org.apache.openjpa.persistence

Examples of org.apache.openjpa.persistence.OpenJPAEntityManager


        serializationHelper(false, true);
    }

    private void serializationHelper(boolean userDefined, boolean sub)
        throws IOException, ClassNotFoundException {
        OpenJPAEntityManager em = emf.createEntityManager();
        UnenhancedType un = newInstance(sub);
        em.getTransaction().begin();
        em.persist(un);

        if (sub) {
            UnenhancedType related = newInstance(false);
            related.setStringField("related");
            ((UnenhancedSubtype) un).setRelated(related);
        }

        em.getTransaction().commit();

        if (!userDefined) {
            em.close();
            em = emf.createEntityManager();
        }

        un = em.find(getUnenhancedClass(), un.getId());
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ObjectOutputStream oout = new ObjectOutputStream(out);
        oout.writeObject(un);
        oout.flush();
        byte[] bytes = out.toByteArray();

        ObjectInputStream oin = new ObjectInputStream(
            new ByteArrayInputStream(bytes));
        UnenhancedType deserialized = (UnenhancedType) oin.readObject();

        copiedInstanceHelper(sub, em, un, deserialized, false);
        em.close();
    }
View Full Code Here


        cloneHelper(false, true);
    }

    private void cloneHelper(boolean userDefined, boolean sub)
        throws IOException, ClassNotFoundException, CloneNotSupportedException {
        OpenJPAEntityManager em = emf.createEntityManager();
        UnenhancedType un = newInstance(sub);
        em.getTransaction().begin();
        em.persist(un);

        if (sub) {
            UnenhancedType related = newInstance(false);
            related.setStringField("related");
            ((UnenhancedSubtype) un).setRelated(related);
        }

        em.getTransaction().commit();

        if (!userDefined) {
            em.close();
            em = emf.createEntityManager();
        }

        un = em.find(getUnenhancedClass(), un.getId());
        UnenhancedType cloned = (UnenhancedType) un.clone();

        copiedInstanceHelper(sub, em, un, cloned, true);
        em.close();
    }
View Full Code Here

    private void listenerHelper(boolean userDefined, boolean sub)
        throws IOException, ClassNotFoundException, CloneNotSupportedException {
        ListenerImpl listener = new ListenerImpl();
        emf.addLifecycleListener(listener, (Class[]) null);
        OpenJPAEntityManager em = emf.createEntityManager();
        UnenhancedType un = newInstance(sub);
        em.getTransaction().begin();
        em.persist(un);
        em.getTransaction().commit();

        if (!userDefined) {
            em.close();
            em = emf.createEntityManager();
        }

        listener.invoked = false;

        un = em.find(getUnenhancedClass(), un.getId());
        em.getTransaction().begin();
        un.setStringField("updated");
        em.getTransaction().commit();
        assertTrue(listener.invoked);
        em.close();

        assertEquals("updated", listener.stringField);
    }
View Full Code Here

        em.getTransaction().commit();
        em.close();
    }

    public void testAccessIdBeforeCommit() {
        OpenJPAEntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        IdentityIdClass o = new IdentityIdClass();
        em.persist(o);
        em.getObjectId(o);
        em.getTransaction().commit();
        em.close();
    }
View Full Code Here

            cm.getFieldMapping("map").getTable().getName());
    }

    public void testPersistentMapInsert() {
        NonstandardMappingEntity e = new NonstandardMappingEntity();
        OpenJPAEntityManager em = emf.createEntityManager();
        em.getIdGenerator(NonstandardMappingEntity.class).allocate(1);
        sql.clear();
        try {
            em.getTransaction().begin();
            em.persist(e);
            e.getMap().put("foo", "bar");
            em.flush();
            assertEquals(2, sql.size());
            assertSQL(".*NONSTD_MAPPING_MAP.*");
        } finally {
            if (em.getTransaction().isActive())
                em.getTransaction().rollback();
        }
    }
View Full Code Here

        t.setRollbackOnly();
        t.rollback();

        // openjpa-facade test
        assertTrue(em instanceof OpenJPAEntityManager);
        OpenJPAEntityManager ojem = (OpenJPAEntityManager) em;
        ojem.getFetchPlan().setMaxFetchDepth(-1);
        assertEquals(-1, ojem.getFetchPlan().getMaxFetchDepth());
        em.close();
    }
View Full Code Here

        t.setRollbackOnly();
        t.rollback();

        // openjpa-facade test
        assertTrue(em instanceof OpenJPAEntityManager);
        OpenJPAEntityManager ojem = (OpenJPAEntityManager) em;
        ojem.getFetchPlan().setMaxFetchDepth(1);
        assertEquals(1, ojem.getFetchPlan().getMaxFetchDepth());
        em.close();
    }
View Full Code Here

    }

    public void testEagerOwnerOneToManyFind() {
        sql.clear();

        OpenJPAEntityManager em = emf.createEntityManager();
        em.getFetchPlan().addField(BidiParent.class, "oneToManyChildren");
        em.getFetchPlan().addField(BidiChild.class, "oneToManyParent");
        BidiParent parent = em.find(BidiParent.class, id1);
        assertEquals(1, sql.size());
        assertNotSQL(".* LEFT OUTER JOIN BidiParent .*");
        assertEquals("parent1", parent.getName());
        assertEquals(3, parent.getOneToManyChildren().size());
        for (int i = 0; i < 3; i++) {
            assertEquals("oneToManyChild1::" + (i + 1),
                parent.getOneToManyChildren().get(i).getName());
            assertEquals(parent,
                parent.getOneToManyChildren().get(i).getOneToManyParent());
        }
        assertEquals(1, sql.size());
        em.close();
    }
View Full Code Here

    }

    public void testEagerOwnerOneToOneFind() {
        sql.clear();

        OpenJPAEntityManager em = emf.createEntityManager();
        em.getFetchPlan().addField(BidiParent.class, "oneToOneChild");
        em.getFetchPlan().addField(BidiChild.class, "oneToOneParent");
        BidiParent parent = em.find(BidiParent.class, id1);
        assertEquals(1, sql.size());
        assertNotSQL(".* LEFT OUTER JOIN BidiParent .*");
        assertEquals("parent1", parent.getName());
        assertNotNull(parent.getOneToOneChild());
        assertEquals("oneToOneChild1", parent.getOneToOneChild().getName());
        assertEquals(parent, parent.getOneToOneChild().getOneToOneParent());
        assertEquals(1, sql.size());
        em.close();
    }
View Full Code Here

    }

    public void testEagerOwnerOneToManyQuery() {
        sql.clear();

        OpenJPAEntityManager em = emf.createEntityManager();
        OpenJPAQuery q = em.createQuery("SELECT o FROM BidiParent o "
            + "ORDER BY o.name ASC");
        q.getFetchPlan().addField(BidiParent.class, "oneToManyChildren");
        q.getFetchPlan().addField(BidiChild.class, "oneToManyParent");
        List<BidiParent> res = (List<BidiParent>) q.getResultList();

        assertEquals(2, res.size());
        assertEquals(sql.toString(), 2, sql.size());
        assertNotSQL(".* LEFT OUTER JOIN BidiParent .*");

        for (int i = 0; i < res.size(); i++) {
            assertEquals("parent" + (i + 1), res.get(i).getName());
            assertEquals(3, res.get(i).getOneToManyChildren().size());
            for (int j = 0; j < 3; j++) {
                assertEquals("oneToManyChild" + (i + 1) + "::" + (j + 1),
                    res.get(i).getOneToManyChildren().get(j).getName());
                assertEquals(res.get(i), res.get(i).getOneToManyChildren().
                    get(j).getOneToManyParent());
            }
        }
        assertEquals(2, sql.size());
        em.close();
    }
View Full Code Here

TOP

Related Classes of org.apache.openjpa.persistence.OpenJPAEntityManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.