-1
我正在使用OpenJPA。如果我想使用executeUpdate()方法進行批量刪除/更新,JPA緩存是否會更新?或者這會繞過JPA緩存嗎?當我說「緩存」時,我正在談論L1和L2緩存。查詢的類型是否重要(原生與JPQL)?謝謝。executeUpdate()對JPA緩存有什麼影響?
我正在使用OpenJPA。如果我想使用executeUpdate()方法進行批量刪除/更新,JPA緩存是否會更新?或者這會繞過JPA緩存嗎?當我說「緩存」時,我正在談論L1和L2緩存。查詢的類型是否重要(原生與JPQL)?謝謝。executeUpdate()對JPA緩存有什麼影響?
持久化上下文不與 批量更新的結果同步或刪除。
當執行批量更新或刪除操作 時應該小心,因爲它們可能會導致數據庫和活動持久性上下文中的實體不一致。通常,只應在新持久性上下文中的 事務內或在事務的開始(在實體已被訪問(其狀態可能受此類操作影響的 )之前)執行批量更新和刪除操作。
因此,由於OpenJPA沒有同步L1緩存,所以我不明白它爲什麼會(以及如何)同步L2緩存。他可以沖洗它,但我懷疑它。無論如何測試都很簡單。