Search in sources :

Example 51 with EntityManager

use of javax.persistence.EntityManager in project hibernate-orm by hibernate.

the class TreatListJoinTest method testTreatJoin.

@Test
public void testTreatJoin() {
    EntityManager em = createEntityManager();
    try {
        final CriteriaBuilder cb = em.getCriteriaBuilder();
        final CriteriaQuery<Tuple> query = cb.createTupleQuery();
        final Root<TestEntity> testEntity = query.from(TestEntity.class);
        final List<Selection<?>> selections = new LinkedList();
        selections.add(testEntity.get("id"));
        final ListJoin<TestEntity, AbstractEntity> entities = testEntity.joinList("entities", JoinType.LEFT);
        entities.on(cb.equal(entities.get("entityType"), EntityA.class.getName()));
        final ListJoin<TestEntity, EntityA> joinEntityA = cb.treat(entities, EntityA.class);
        selections.add(joinEntityA.get("id"));
        selections.add(joinEntityA.get("valueA"));
        final ListJoin<TestEntity, AbstractEntity> entitiesB = testEntity.joinList("entities", JoinType.LEFT);
        entitiesB.on(cb.equal(entitiesB.get("entityType"), EntityB.class.getName()));
        final ListJoin<TestEntity, EntityB> joinEntityB = cb.treat(entitiesB, EntityB.class);
        selections.add(joinEntityB.get("id"));
        selections.add(joinEntityB.get("valueB"));
        query.multiselect(selections);
        final List<Tuple> resultList = em.createQuery(query).getResultList();
        assertThat(resultList.size(), is(10));
    } finally {
        em.close();
    }
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) Selection(javax.persistence.criteria.Selection) LinkedList(java.util.LinkedList) EntityManager(javax.persistence.EntityManager) Tuple(javax.persistence.Tuple) Test(org.junit.Test)

Example 52 with EntityManager

use of javax.persistence.EntityManager in project hibernate-orm by hibernate.

the class AggregationResultTest method testSumOfIntegers.

/**
	 * Sum of Integers should return an Integer; note that this is distinctly different than JPAQL
	 */
@Test
public void testSumOfIntegers() {
    EntityManager em = getOrCreateEntityManager();
    em.getTransaction().begin();
    CriteriaQuery<Integer> criteria = builder.createQuery(Integer.class);
    Root<Product> productRoot = criteria.from(Product.class);
    criteria.select(builder.sum(productRoot.get(Product_.quantity)));
    Object sumResult = em.createQuery(criteria).getSingleResult();
    assertReturnType(Integer.class, sumResult);
    em.getTransaction().commit();
    em.close();
}
Also used : BigInteger(java.math.BigInteger) EntityManager(javax.persistence.EntityManager) Product(org.hibernate.jpa.test.metamodel.Product) Test(org.junit.Test) AbstractMetamodelSpecificTest(org.hibernate.jpa.test.metamodel.AbstractMetamodelSpecificTest)

Example 53 with EntityManager

use of javax.persistence.EntityManager in project hibernate-orm by hibernate.

the class AggregationResultTest method cleanUpTestData.

@After
public void cleanUpTestData() throws Exception {
    EntityManager em = getOrCreateEntityManager();
    em.getTransaction().begin();
    em.createQuery("delete Product").executeUpdate();
    em.getTransaction().commit();
    em.close();
}
Also used : EntityManager(javax.persistence.EntityManager) After(org.junit.After)

Example 54 with EntityManager

use of javax.persistence.EntityManager in project hibernate-orm by hibernate.

the class EntitySuperclassCollectionTest method createPerson.

private PersonBase createPerson(PersonBase person, String address) {
    EntityManager em = createEntityManager();
    EntityTransaction tx = em.getTransaction();
    tx.begin();
    person.addresses.add(new Address(address));
    person = em.merge(person);
    tx.commit();
    return person;
}
Also used : EntityTransaction(javax.persistence.EntityTransaction) EntityManager(javax.persistence.EntityManager)

Example 55 with EntityManager

use of javax.persistence.EntityManager in project hibernate-orm by hibernate.

the class ManipulationCriteriaTest method testJoinsAndFetchesDisallowed.

@Test
public void testJoinsAndFetchesDisallowed() {
    EntityManager em = getOrCreateEntityManager();
    em.getTransaction().begin();
    CriteriaBuilder builder = em.getCriteriaBuilder();
    {
        try {
            CriteriaDelete<Customer> deleteCriteria = builder.createCriteriaDelete(Customer.class);
            Root<Customer> root = deleteCriteria.from(Customer.class);
            root.join(Customer_.spouse);
            em.createQuery(deleteCriteria).executeUpdate();
            fail("Expected failure dues to attempt to join");
        } catch (IllegalArgumentException expected) {
        }
    }
    {
        try {
            CriteriaDelete<Customer> deleteCriteria = builder.createCriteriaDelete(Customer.class);
            Root<Customer> root = deleteCriteria.from(Customer.class);
            root.fetch(Customer_.spouse);
            em.createQuery(deleteCriteria).executeUpdate();
            fail("Expected failure dues to attempt to fetch");
        } catch (IllegalArgumentException expected) {
        }
    }
    {
        try {
            CriteriaUpdate<Customer> updateCriteria = builder.createCriteriaUpdate(Customer.class);
            Root<Customer> root = updateCriteria.from(Customer.class);
            root.join(Customer_.spouse);
            em.createQuery(updateCriteria).executeUpdate();
            fail("Expected failure dues to attempt to join");
        } catch (IllegalArgumentException expected) {
        }
    }
    {
        try {
            CriteriaUpdate<Customer> updateCriteria = builder.createCriteriaUpdate(Customer.class);
            Root<Customer> root = updateCriteria.from(Customer.class);
            root.fetch(Customer_.spouse);
            em.createQuery(updateCriteria).executeUpdate();
            fail("Expected failure dues to attempt to fetch");
        } catch (IllegalArgumentException expected) {
        }
    }
    em.getTransaction().commit();
    em.close();
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) EntityManager(javax.persistence.EntityManager) CriteriaDelete(javax.persistence.criteria.CriteriaDelete) Root(javax.persistence.criteria.Root) Customer(org.hibernate.jpa.test.metamodel.Customer) CriteriaUpdate(javax.persistence.criteria.CriteriaUpdate) Test(org.junit.Test) AbstractMetamodelSpecificTest(org.hibernate.jpa.test.metamodel.AbstractMetamodelSpecificTest)

Aggregations

EntityManager (javax.persistence.EntityManager)1435 Test (org.junit.Test)879 Priority (org.hibernate.envers.test.Priority)249 Query (javax.persistence.Query)211 TestForIssue (org.hibernate.testing.TestForIssue)97 CriteriaQuery (javax.persistence.criteria.CriteriaQuery)87 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)79 List (java.util.List)75 NoResultException (javax.persistence.NoResultException)65 AbstractMetamodelSpecificTest (org.hibernate.jpa.test.metamodel.AbstractMetamodelSpecificTest)63 EntityManagerFactory (javax.persistence.EntityManagerFactory)59 HashMap (java.util.HashMap)50 StrTestEntity (org.hibernate.envers.test.entities.StrTestEntity)50 PersistenceException (javax.persistence.PersistenceException)43 ArrayList (java.util.ArrayList)41 EntityNotFoundException (javax.persistence.EntityNotFoundException)39 Transactional (com.google.inject.persist.Transactional)38 EntityTransaction (javax.persistence.EntityTransaction)38 Item (org.hibernate.jpa.test.Item)36 Session (org.hibernate.Session)35