package kr.debop4j.data.ogm.test.jpa; import kr.debop4j.data.ogm.test.utils.PackagingRule; import kr.debop4j.data.ogm.test.utils.TestHelper; import kr.debop4j.data.ogm.test.utils.jpa.JpaTestBase; import lombok.extern.slf4j.Slf4j; import org.fest.assertions.Assertions; import org.junit.Rule; import org.junit.Test; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.transaction.TransactionManager; /** * kr.debop4j.data.ogm.test.jpa.JPAStandaloneTest * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 13. 4. 12. 오후 1:33 */ @Slf4j public class JPAStandaloneTest { @Rule public PackagingRule packagingRule = new PackagingRule("persistencexml/jpajtastandalone.xml", Poem.class); @Test public void jtaStandAlone() throws Exception { final EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpajtastandalone", TestHelper.getEnvironmentProperties()); TransactionManager transactionManager = JpaTestBase.extractJBossTransactionManager(emf); transactionManager.begin(); final EntityManager em = emf.createEntityManager(); Poem poem = new Poem(); poem.setName("L'albatros"); em.persist(poem); transactionManager.commit(); em.clear(); transactionManager.begin(); poem = em.find(Poem.class, poem.getId()); Assertions.assertThat(poem).isNotNull(); Assertions.assertThat(poem.getName()).isEqualTo("L'albatros"); em.remove(poem); transactionManager.commit(); } }