Search in sources :

Example 36 with EntityManager

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

the class SharedCacheModesTest method testEntityManagerCacheModes.

@Test
public void testEntityManagerCacheModes() {
    EntityManager em;
    Session session;
    em = getOrCreateEntityManager();
    session = ((HibernateEntityManager) em).getSession();
    // defaults...
    assertEquals(CacheStoreMode.USE, em.getProperties().get(AvailableSettings.SHARED_CACHE_STORE_MODE));
    assertEquals(CacheRetrieveMode.USE, em.getProperties().get(AvailableSettings.SHARED_CACHE_RETRIEVE_MODE));
    assertEquals(CacheMode.NORMAL, session.getCacheMode());
    // overrides...
    em.setProperty(AvailableSettings.SHARED_CACHE_STORE_MODE, CacheStoreMode.REFRESH);
    assertEquals(CacheStoreMode.REFRESH, em.getProperties().get(AvailableSettings.SHARED_CACHE_STORE_MODE));
    assertEquals(CacheMode.REFRESH, session.getCacheMode());
    em.setProperty(AvailableSettings.SHARED_CACHE_STORE_MODE, CacheStoreMode.BYPASS);
    assertEquals(CacheStoreMode.BYPASS, em.getProperties().get(AvailableSettings.SHARED_CACHE_STORE_MODE));
    assertEquals(CacheMode.GET, session.getCacheMode());
    em.setProperty(AvailableSettings.SHARED_CACHE_RETRIEVE_MODE, CacheRetrieveMode.BYPASS);
    assertEquals(CacheRetrieveMode.BYPASS, em.getProperties().get(AvailableSettings.SHARED_CACHE_RETRIEVE_MODE));
    assertEquals(CacheMode.IGNORE, session.getCacheMode());
    em.setProperty(AvailableSettings.SHARED_CACHE_STORE_MODE, CacheStoreMode.USE);
    assertEquals(CacheStoreMode.USE, em.getProperties().get(AvailableSettings.SHARED_CACHE_STORE_MODE));
    assertEquals(CacheMode.PUT, session.getCacheMode());
    em.setProperty(AvailableSettings.SHARED_CACHE_STORE_MODE, CacheStoreMode.REFRESH);
    assertEquals(CacheStoreMode.REFRESH, em.getProperties().get(AvailableSettings.SHARED_CACHE_STORE_MODE));
    assertEquals(CacheMode.REFRESH, session.getCacheMode());
}
Also used : HibernateEntityManager(org.hibernate.jpa.HibernateEntityManager) EntityManager(javax.persistence.EntityManager) Session(org.hibernate.Session) Test(org.junit.Test)

Example 37 with EntityManager

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

the class CallbacksTest method testPrePersistOnCascade.

@Test
public void testPrePersistOnCascade() throws Exception {
    EntityManager em = getOrCreateEntityManager();
    em.getTransaction().begin();
    Television tv = new Television();
    RemoteControl rc = new RemoteControl();
    em.persist(tv);
    em.flush();
    tv.setControl(rc);
    tv.init();
    em.flush();
    assertNotNull(rc.getCreationDate());
    em.getTransaction().rollback();
    em.close();
}
Also used : EntityManager(javax.persistence.EntityManager) Test(org.junit.Test)

Example 38 with EntityManager

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

the class CallbacksTest method testPostUpdateCollection.

@Test
@FailureExpected(message = "collection change does not trigger an event", jiraKey = "EJB-288")
public void testPostUpdateCollection() throws Exception {
    // create a cat
    EntityManager em = getOrCreateEntityManager();
    Cat cat = new Cat();
    em.getTransaction().begin();
    cat.setLength(23);
    cat.setAge(2);
    cat.setName("Beetle");
    cat.setDateOfBirth(new Date());
    em.persist(cat);
    em.getTransaction().commit();
    // assert it is persisted
    List ids = Cat.getIdList();
    Object id = Cat.getIdList().get(ids.size() - 1);
    assertNotNull(id);
    // add a kitten to the cat - triggers PostCollectionRecreateEvent
    int postVersion = Cat.postVersion;
    em.getTransaction().begin();
    Kitten kitty = new Kitten();
    kitty.setName("kitty");
    List kittens = new ArrayList<Kitten>();
    kittens.add(kitty);
    cat.setKittens(kittens);
    em.getTransaction().commit();
    assertEquals("Post version should have been incremented.", postVersion + 1, Cat.postVersion);
    // add another kitten - triggers PostCollectionUpdateEvent.
    postVersion = Cat.postVersion;
    em.getTransaction().begin();
    Kitten tom = new Kitten();
    tom.setName("Tom");
    cat.getKittens().add(tom);
    em.getTransaction().commit();
    assertEquals("Post version should have been incremented.", postVersion + 1, Cat.postVersion);
    // delete a kitty - triggers PostCollectionUpdateEvent
    postVersion = Cat.postVersion;
    em.getTransaction().begin();
    cat.getKittens().remove(tom);
    em.getTransaction().commit();
    assertEquals("Post version should have been incremented.", postVersion + 1, Cat.postVersion);
    // delete and recreate kittens - triggers PostCollectionRemoveEvent and PostCollectionRecreateEvent)
    postVersion = Cat.postVersion;
    em.getTransaction().begin();
    cat.setKittens(new ArrayList<Kitten>());
    em.getTransaction().commit();
    assertEquals("Post version should have been incremented.", postVersion + 2, Cat.postVersion);
    em.close();
}
Also used : EntityManager(javax.persistence.EntityManager) Cat(org.hibernate.jpa.test.Cat) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Date(java.util.Date) Kitten(org.hibernate.jpa.test.Kitten) Test(org.junit.Test) FailureExpected(org.hibernate.testing.FailureExpected)

Example 39 with EntityManager

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

the class CallbacksTest method listenerAnnotation.

//Not a test since the spec did not make the proper change on listeners
public void listenerAnnotation() throws Exception {
    EntityManager em = getOrCreateEntityManager();
    Translation tl = new Translation();
    em.getTransaction().begin();
    tl.setInto("France");
    em.persist(tl);
    tl = new Translation();
    tl.setInto("Bimboland");
    try {
        em.persist(tl);
        em.flush();
        fail("Annotations annotated by a listener not used");
    } catch (IllegalArgumentException e) {
    //success
    } finally {
        em.getTransaction().rollback();
        em.close();
    }
}
Also used : EntityManager(javax.persistence.EntityManager)

Example 40 with EntityManager

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

the class ParameterTest method testParameterInParameterList.

@Test
public void testParameterInParameterList() {
    // Yes, this test makes no semantic sense.  But the JPA TCK does it...
    // 		it causes a problem on Derby, which does not like the form "... where ? in (?,?)"
    //		Derby wants one side or the other to be CAST (I assume so it can check typing).
    EntityManager em = getOrCreateEntityManager();
    em.getTransaction().begin();
    CriteriaQuery<MultiTypedBasicAttributesEntity> criteria = em.getCriteriaBuilder().createQuery(MultiTypedBasicAttributesEntity.class);
    criteria.from(MultiTypedBasicAttributesEntity.class);
    criteria.where(em.getCriteriaBuilder().in(em.getCriteriaBuilder().parameter(Long.class, "p1")).value(em.getCriteriaBuilder().parameter(Long.class, "p2")).value(em.getCriteriaBuilder().parameter(Long.class, "p3")));
    TypedQuery<MultiTypedBasicAttributesEntity> query = em.createQuery(criteria);
    query.setParameter("p1", 1L);
    query.setParameter("p2", 2L);
    query.setParameter("p3", 3L);
    query.getResultList();
    em.getTransaction().commit();
    em.close();
}
Also used : EntityManager(javax.persistence.EntityManager) Test(org.junit.Test)

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