jpa更新操作,数据库更新了,但是查询的还是旧的数据

jpa进行update的操作后,更新了数据库,但是一级缓存没有更新,所以紧接着查询出来的是缓存中的旧数据,此时只要在对应的

update方法上加入@Modifying(clearAutomatically = true)即可,它更新完数据库后会主动清理一级缓存。

@Transactional
@Modifying
@Query(value = "update new_user_news_pool p set p.status=?2 where p.pk=?1 ", nativeQuery = true)
int updateStatusByPk(long pk, int status);

 

你可能感兴趣的:(jpa更新操作,数据库更新了,但是查询的还是旧的数据)