一个事物下,用JPA的SAVE,FindOne等方法和原生SQL语句互不影响。求科普,这是为何?

这两天做项目发现一现象,一个方法上加上事物注解。这个方法中有一段对数据库的操作,用自己写的原生SQL Update语句执行。执行完后,调用一个接口,这个接口用JPA的findOne方法获取数据,获取不到最新的。

反过来,先用JPA的Save方法保存,再用原生SQL select查询也有类似的问题。
都是一个事物下的,为何会发生这种事儿?

这个和JPA没关系,JPA是不处理事务的;
你这个事务未完成提交,你的查询无论放到哪都无法查询本事务添加或者修改的数据;