登录
首页 >  数据库 >  MySQL

@Transactional注解标注方法的事务提交时间点是什么?

来源:php

时间:2024-10-25 18:51:45 343浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个数据库开发实战,手把手教大家学习《@Transactional注解标注方法的事务提交时间点是什么?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

@Transactional注解标注方法的事务提交时间点是什么?

spring中@transactional注解的事务提交时间点

问题:

使用@transactional注解标注的方法执行前后,事务提交的时间点是何时?

回答:

spring中使用@transactional注解标注的方法,事务的提交时间点是在方法执行结束后。

spring采用动态代理的方式对加了@transactional注解的方法进行增强,在方法执行前添加事务,并在方法执行完成后提交事务。因此,事务的提交时间点确实是在方法结束时。

解决方法:

如果需要在方法执行前开启事务,可以在方法中手动获取事务,然后再调用带@transactional注解的方法。

lock();
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
    @Override
    protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
        method();
    }
});
unlock();

今天带大家了解了的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:php 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>