【发布时间】:2011-07-19 17:48:26
【问题描述】:
我正在使用 Spring 3 和 Hibernate 3.6 开发 Web 应用程序。我对@Transactional 注释和代码结构有一些疑问。
-> 当我使用@Transactional(Spring 的事务管理)时,在调用@Transactional-annotated 方法时是否必须用try/catch 包围它们?
例如,当我得到一个加载、更改和返回一个对象的方法时,我从另一个类调用它:我必须用 try/catch 包围调用吗?可能出问题了,没有返回对象,数据库连接失败..我不知道。
直到现在,我认为@Transactional 关心所有可能发生的异常,并在发生错误时回滚此事务中的每个操作。
但如果发生这种情况,我必须以某种方式通知用户。当我在 try-block 中调用 transactional-method 并回滚时,catch 块被激活?
我可以告诉用户“确实出了问题”。否则可能不会通知用户?
或者检查是否有返回的对象(if/else)就足够了,那么我不需要try/catch? 我是新手,我想听听其他人如何构建他们的代码。谢谢你:-)
【问题讨论】:
标签: java hibernate spring exception transactional