3
TestNG + Spring + Hibernate를 사용합니다. 내가 @BeforeClass에서 트랜잭션을 사용하는 경우 , 내가 얻을 :TestNG @BeforeClass에서 트랜잭션을 어떻게 사용할 수 있습니까?
org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread
코드 예제 :
@Transactional(transactionManager = "transactionManager")
@Rollback
@ContextConfiguration(locations = "/WEB-INF/testing/applicationTestContext.xml")
@TestExecutionListeners(listeners = {
ServletTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class,
SqlScriptsTestExecutionListener.class,
WithSecurityContextTestExecutionListener.class
})
public abstract class ExampleOfTest extends AbstractTestNGSpringContextTests{
@Autowired
private SessionFactory sessionFactory;
@BeforeClass
public void setUpClass() {
sessionFactory.getCurrentSession().beginTransaction(); // get HibernateException
sessionFactory.getCurrentSession().getTransaction().commit();
}
....
}
내가 @BeforeClass에서 트랜잭션을 사용할 수 있습니다 어떻게? 모든 클래스 테스트에서 사용한 일회성 데이터 입력에이 코드를 사용하고 싶습니다.