在Spring + Hibernate项目中。如果使用@Transactional注释方法,则该方法将执行一批DB GET操作,然后处理查询结果,最后将UPDATE返回DB。
@Transactional在这里到底在做什么?
因为我知道Spring JpaRepository实现已经可以在CRUD操作上进行事务处理,并且我同意带注释的方法将在rumtime异常的情况下回滚db的更改。但是,如果更新在方法的最后一步发生了怎么办?
第二个问题与数据库连接有关。我不确定从哪一点开始(也许是第一个数据库操作?)它将从池中检出连接,但是保持连接的方法会一直执行到执行结束吗?
如果我删除注解,会引起任何问题吗?谢谢!
我发现了类似的问题here,但是,对于我来说,被接受的答案似乎没有任何意义。