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