首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Transactional包装?

Spring Transactional包装?
EN

Stack Overflow用户
提问于 2012-06-08 16:57:32
回答 1查看 271关注 0票数 2

我使用的是spring/hibernate。我有服务层和DAO层。事务放在服务层中。我要上FirstServiceImpl课。在FirstServiceImpl类的一个方法中,它有500行代码。我所做的是将所有500行代码放在一个单独的类中(编写一个接口和实现类。在FirstServiceImpl类中,我自动连接了新创建的接口以访问它的单个方法)。我将@Transactional放在了FirstServiceImpl类中。

我的问题是“新创建的类逻辑是否也在事务上下文中运行”?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-08 17:49:53

我不确定,但我认为它将使用transaction propagation。但我可以告诉你测试它是否工作的可靠方法。

在单个事务中通过您的代码执行以下数据库操作。

在数据库中插入/更新一行,尝试在同一事务中插入/更新第二行。

在插入第二行时故意引发异常。如果您可以在数据库中看到"first entry“,这意味着您的事务不会回滚。但它并不起作用。

而如果数据库中没有第一行条目,这意味着您的事务将回滚。在这里你可以得到UnexpectedRollbackException.

在测试之前,确保您的注解是@Transactional(propagation=Propagation.REQUIRED)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10945810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档