我是Hibernate的新手,正在閱讀關於Hibernate一級緩存的內容。 我有疑問。 Will every session that is associated with the SessionFactory have an individual cache or for all the sessions there will be only one cache?
任何人都可以請解釋這一點。Hibernate中的一級緩存
0
A
回答
2
第一級緩存與會話對象關聯。正如我們所知,會話對象是根據會話工廠的需求創建的,一旦會話關閉,它就會丟失。同樣,與會話對象關聯的第一級高速緩存僅在會話對象處於活動狀態時纔可用。它僅供會話對象使用,並且不可用於應用程序的任何其他部分中的任何其他會話對象。
重要事項:
一級緩存與應用「會話」對象和其他會話對象關聯還看不出來。
緩存對象的範圍是會話的範圍。一旦會話關閉, 緩存的對象將永遠消失。
一級緩存默認情況下處於啓用狀態,您無法禁用它。
當我們第一次查詢實體時,它從數據庫中檢索並存儲在與休眠會話相關的第一級高速緩存中。
如果我們用相同的會話對象再次查詢同一對象,它將從緩存中加載並且不會執行sql查詢。
使用evict()方法可以從會話中刪除加載的實體。如果使用evict()方法刪除了該實體,則該實體的下一次加載將再次進行數據庫調用。
可以使用clear()方法刪除整個會話緩存。它將刪除存儲在緩存中的所有實體。
引自:不關閉第一使sesion http://howtodoinjava.com/2013/07/01/understanding-hibernate-first-level-cache-with-example/
相關問題
- 1. Hibernate一級緩存vs查詢緩存
- 2. HIbernate 2級緩存
- 3. 什麼是Hibernate中的一級和二級緩存?
- 4. Hibernate 3.2.0中的二級緩存final
- 5. orm.xml中的Hibernate二級緩存?
- 6. Hibernate的二級緩存+的Ehcache問題
- 7. 清除Hibernate的二級緩存
- 8. 清除Hibernate的二級緩存
- 9. Hibernate的二級緩存 - 打印結果
- 10. Hibernate的二級緩存使用ecache
- 11. 休眠OGM和Hibernate OGM一級和二級緩存
- 12. Hibernate優化,使用二級緩存?
- 13. 何時使用Hibernate緩存(第二級)?
- 14. Hibernate 3.5.5,二級緩存配置
- 15. JPA Hibernate和2級高速緩存
- 16. spring + hibernate + infinispan作爲第二級緩存
- 17. Spring + Hibernate with Hazelcast作爲二級緩存
- 18. Hibernate + Spring Data JPA二級緩存XML
- 19. Redis作爲Hibernate二級緩存
- 20. 將數據存儲在Hibernate的二級緩存中的位置?
- 21. 使用一個Hibernate映射的多個二級緩存設置
- 22. Hibernate的緩存負命中
- 23. Hibernate的緩存未命中
- 24. 在集羣環境中使用JBoss緩存hibernate的二級緩存
- 25. JPA2 Hibernate的緩存
- 26. Hibernate緩存?
- 27. ehcache hibernate第二級緩存,hibernate自動排除
- 28. hibernate何時使用其第一級緩存?如何登錄?
- 29. 爲同一個Hibernate二級緩存區域映射兩個CacheConcurrencyStrategy
- 30. Hibernate的緩存和MySQL查詢緩存
我們能第二屆一個SessionFactory關聯?第一次會議和第二次會議有不同的緩存嗎? – Newbie
是的,我們可以在不關閉現有會話的情況下打開新的會話,並且兩個會話都會有不同的緩存。 –