我想忽略一个特定的实体,使其不成为@transactional(使用spring/hibernate)

xhv8bpkk  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(393)

我运行一个springmvc应用程序,并将@transactional注解与hibernatetransactionmanager结合使用。
结果,在我的应用程序中,我抛出RunTimeExpRebug的任何地方,我们回滚-这太好了!一切正常。
但现在我想从事务性中排除一个实体。这个实体表示我想要持久化的东西(基准测试/日志/错误),即使(特别是)有一个runtimeexception将其他所有东西都标记为回滚。
我宁愿不必从我的拦截器之外调用某个存储库来开始和结束事务。
有没有一个简单的方法来实现这一点?

vptzau2j

vptzau2j1#

实体不是事务性的。方法是。
如果希望算法的某个部分不属于当前事务的一部分,那么将该部分放在一个单独bean的方法中,并用 @Transactional(propagation = REQUIRES_NEW) ,以便在调用此方法时打开并提交一个专用的独立事务,而不受当前事务结果的影响。

相关问题