package org.hibernate.examples.jpa.repository; import lombok.extern.slf4j.Slf4j; import org.hibernate.examples.AbstractJpaTest; import org.hibernate.examples.mapping.Employee; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; /** * org.hibernate.examples.jpa.repository.JpaRepositoryTest * * @author 배성혁 sunghyouk.bae@gmail.com * @since 2013. 11. 28. 오후 10:58 */ @Slf4j @Transactional public class JpaRepositoryTest extends AbstractJpaTest { @Autowired EmployeeRepository empRepository; @PersistenceContext EntityManager em; @Test public void injectEmployeeRepository() throws Exception { assertThat(empRepository).isNotNull(); List<Employee> employees = empRepository.findAll(); assertThat(employees).isNotNull(); } @Test public void employeeFindByEmpNo() { Employee emp = new Employee(); emp.setName("Sunghyouk Bae"); emp.setEmpNo("21011"); emp = empRepository.saveAndFlush(emp); em.clear(); Employee loaded = empRepository.findByEmpNo(emp.getEmpNo()); assertThat(loaded).isNotNull(); assertThat(loaded).isEqualTo(emp); assertThat(loaded.getUpdatedTimestamp()).isNotNull(); log.debug("Employee=[{}]", loaded); } }