JPA之Jpql FAQ

  • jpql語句如何寫參數參數 ?參數序號 方式和 :參數名 方式

  • 更新時方法上必須加@Modifying這樣框架最終會生成一個更新的操作,而非查詢操作。

  • @Modifying註解裏面有一個配置clearAutomaticallyjpa底層實現會有二級緩存,也就是在更新完數據庫後,如果後面去用這個對象,你再去查這個對象,這個對象是在一級緩存,但是並沒有跟數據庫同步,這個時候用clearAutomatically=true,  就會刷新一級緩存了, 不然你在同一接口中,更新一個對象,接着查詢這個對象,那麼你查出來的這個對象還是之前的沒有更新之前的狀態。

  • 不要修改反查對象的id來save 新建一條記錄,Spring Data Jpa對於查詢出的對象都有緩存,更改id save會拋異常,只允許修改非id字段來更新數據記錄;如果需要複製數據記錄,實現對象的clone方法,或新建對象set原對象數據。

  • 保存多條記錄,需要構建對象的集合,使用集合的save方法,效率比單對象save高很多。

  • 保存多條記錄時,如果既有新建又有更新,建議分開save,一起save可能會出問題。

  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章