无@transactional:
当我在Spring Boot应用程序中点击GET方法API时,将使用jdbctemplate从oracle DB中获取记录。
getJDBCTemplate.query(rownum .... etc)。
我没有在服务层中使用@transactional注释。它正常工作。
使用@transactional:
当我们使用相同的API时,第一次将从ORACLE DB中获取记录。但是从下一次开始,结果集将始终为空。我在日志中没有看到任何错误。我在服务层中使用了@transactional。
我对其进行了进一步调试,发现在使用@transactional时,在调用实际方法之前,该事务将与当前线程绑定,并且一旦该事务完成,它将被释放而不关闭。
但是第一次正确地获取记录,但是下次又不获取...得到空结果。此问题的根本原因是什么?