0
如果我正在做的是批量插入,Hibernate是否使用緩存(第二級或其他)? 沒有從數據庫中請求實體,也沒有使用生成器。 另外,StatelessSession vs Session會改變答案嗎?如果我正在使用JDBC批量大小爲50的Session,該怎麼辦?我將使用的緩存是Ehcache基本休眠緩存問題
如果我正在做的是批量插入,Hibernate是否使用緩存(第二級或其他)? 沒有從數據庫中請求實體,也沒有使用生成器。 另外,StatelessSession vs Session會改變答案嗎?如果我正在使用JDBC批量大小爲50的Session,該怎麼辦?我將使用的緩存是Ehcache基本休眠緩存問題
Doe Hibernate使用緩存(第二級別或其他)如果我所做的是批量插入?
在L1緩存(會話級緩存),他們被刷新到數據庫之前緩存新插入的實體實例(請參見13. Batch processing),因此需要flush
和clear
會話定期防止OOM。
此外,StatelessSession vs Session會改變答案嗎?
是的。如13.3. The StatelessSession interface:A StatelessSession
中所述,沒有與其關聯的持久性上下文,並且不提供許多更高級別的生命週期語義。尤其是,無狀態會話不會實現一級緩存,也不會與任何二級或查詢緩存進行交互。
如果我使用JDBC批處理大小爲50的會話該怎麼辦?
這只是表示您應該flush
/clear
該會話每50個插入。