【发布时间】:2013-09-29 07:41:59
【问题描述】:
我有一个关于休眠的简单问题:
在休眠状态下,事务的持续时间真的比会话长吗?
@Controller
public class VacancyMenuController extends AbstractController{
...
@RequestMapping("/path")
public String delete(Model model){
//here session opens and transaction starts ?
vacancyService.delete(vacancy.getId());
//here transactions commit and session close ?
sessionFactory.getCurrentSession().flush();
//here session opens and transaction starts ?
Vacancy vacancyFromDb = vacancyService.findById(vacancy.getId());
//here transactions commit and session close ?
sessionFactory.getCurrentSession().flush();
}
}
@TransactionConfiguration(defaultRollback = false)
@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
public class AbstractServiceTest extends AbstractTransactionalJUnit4SpringContextTests{
....
@Test
public void delete(){
//here session opens and transaction starts
vacancyService.delete(vacancy.getId());
sessionFactory.getCurrentSession().flush();
Vacancy vacancyFromDb = vacancyService.findById(vacancy.getId());
sessionFactory.getCurrentSession().flush();
Assert.assertNull(vacancyFromDb);
//here transactions commit and session close
}
}
在我的 cmets 上面的代码 sn-ps 是对的吗?
【问题讨论】: