package kr.debop4j.data.ogm.test.id; import kr.debop4j.data.ogm.test.utils.jpa.JpaTestBase; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import javax.persistence.EntityManager; import static org.fest.assertions.Assertions.assertThat; /** * kr.debop4j.data.ogm.test.id.TableIdGeneratorTest * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 13. 4. 2. 오후 5:05 */ @Slf4j public class TableIdGeneratorTest extends JpaTestBase { @Override public Class<?>[] getEntities() { return new Class<?>[] { Music.class, Video.class }; } @Test public void tableIdGenerator() throws Exception { getTransactionManager().begin(); final EntityManager em = getFactory().createEntityManager(); Music music = new Music(); music.setName("Variations Sur Marilou"); music.setComposer("Gainsbourg"); em.persist(music); Video video = new Video(); video.setDirector("Wes Craven"); video.setName("Scream"); em.persist(video); getTransactionManager().commit(); em.clear(); getTransactionManager().begin(); music = em.find(Music.class, music.getId()); assertThat(music).isNotNull(); assertThat(music.getName()).isEqualTo("Variations Sur Marilou"); em.remove(music); video = em.find(Video.class, video.getId()); assertThat(video).isNotNull(); assertThat(video.getName()).isEqualTo("Scream"); em.remove(video); getTransactionManager().commit(); em.close(); } }