springDataJpa入門教程(10)-JPA使用過程中遇到的坑及解決方法

springDataJpa入門教程

springDataJpa入門教程(10)-JPA使用過程中遇到的坑及解決方法

  1. jpa緩存導致無法查詢到更新後的數據
    在開發中遇到這樣一種情況,對某條記錄做了查詢,然後又對某個字段單獨進行更新,更新後立即查詢更新後的結果,查詢的數據是更新前的。這個問題是由於JPA的緩存導致的。
    解決方法:通過@Modifying註解的clearAutomatically類清除緩存,這樣更新後JPA就只能去數據庫獲取數據。但是clearAutomatically會對性能有一定的影響,所以clearAutomatically屬性應該視情況使用。示例如下:
  @Modifying(clearAutomatically = true)
  @Query("update User set name = :name where id = :id")
  int updateUserNameById(@Param("name") String name,@Param("id") Long id);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章