【发布时间】:2011-08-05 13:50:05
【问题描述】:
我正在使用 Spring Framework 3.0.5 和 Hibernate Framework 3.6 开发一个 web 应用程序,我有一些问题。我使用带有注释的事务管理。 (@Transactional) 并且我的 DAO 是用普通的 Hibernate 3 API 编写的。
1) 我怎样才能注意到事务已回滚? (我的意思是,我确实必须捕获异常?或者可能在一切正常后检查一下?用 try-catch 包围 @transactional-methods 对我来说似乎不是一件好事)
2) 当我捕捉到异常时,使用@transactional 进行事务管理不起作用(不是回滚)是否正确? (当我用 try-catch 包围事务方法的调用时)
3) 是否可以在不使用事务的情况下使用 Hibernate?所以我可以使用 Spring 和 Hibernate 但没有事务管理?
4) 如果不使用事务就无法使用 Hibernate,这意味着我的数据库管理系统必须始终支持事务引擎(如 InnoDB)。那么我不能将 myISAM 表与休眠一起使用吗?那么这将是hibernate的一大缺点!?
谢谢你:-)
【问题讨论】:
标签: mysql hibernate spring transactions