这两天做项目发现一现象,一个方法上加上事物注解。这个方法中有一段对数据库的操作,用自己写的原生SQL Update语句执行。执行完后,调用一个接口,这个接口用JPA的findOne方法获取数据,获取不到最新的。
反过来,先用JPA的Save方法保存,再用原生SQL select查询也有类似的问题。
都是一个事物下的,为何会发生这种事儿?
反过来,先用JPA的Save方法保存,再用原生SQL select查询也有类似的问题。
都是一个事物下的,为何会发生这种事儿?
这个和JPA没关系,JPA是不处理事务的;
你这个事务未完成提交,你的查询无论放到哪都无法查询本事务添加或者修改的数据;