Spring+Hibernate 조합 환경에서 단위테스트에 대한 토비님의 글.
AppFuse DAO Test 코드의 문제점
Rod Johnson의 Testing with Spring
Spring기반의 Hibernate DAO Unit Test 만들기
특히나 하이버네이트의 1차레벨 캐쉬 때문에
C/U/D 한 뒤 다시 객체를 읽어오는 경우 읽기전에 세션을 flush 해주어야 한다는 지적은
AppFuse 만든 Matt도 미처 몰랐던 사실!
spring-test 모듈의 AbstractTransactionalJUnit4SpringContextTests 사용환경에서는 아래처럼
만들어 놓고 중간중간 flushAndClearSession(); 해주면 될 듯.
AppFuse DAO Test 코드의 문제점
Rod Johnson의 Testing with Spring
Spring기반의 Hibernate DAO Unit Test 만들기
특히나 하이버네이트의 1차레벨 캐쉬 때문에
C/U/D 한 뒤 다시 객체를 읽어오는 경우 읽기전에 세션을 flush 해주어야 한다는 지적은
AppFuse 만든 Matt도 미처 몰랐던 사실!
spring-test 모듈의 AbstractTransactionalJUnit4SpringContextTests 사용환경에서는 아래처럼
만들어 놓고 중간중간 flushAndClearSession(); 해주면 될 듯.
@Autowired
protected SessionFactory sessionFactory;protected Session getCurrentSession() {
return SessionFactoryUtils.getSession(sessionFactory, true);
}
protected void flushSession() {
getCurrentSession().flush();
}protected void flushAndClearSession() {
Session s = getCurrentSession();
s.flush();
s.clear();
}
'Framework' 카테고리의 다른 글
스프링에서 @Transactional 사용시 주의점 (2) | 2008.04.04 |
---|---|
기선님의 하이버네이트3 요약 시리즈 (2) | 2008.03.28 |
Spring 2.5 + JUnit 4 조합 관련 링크 (0) | 2008.03.28 |
헷갈리는 MVC/PAC/HMVC 패턴 (0) | 2008.03.20 |
여러가지 개발디자인 원칙 (0) | 2008.02.21 |