最新回答 / weibo_倍兒帥QAQ_0347065
工具類是通過openSession獲得session的。視頻中引用的是同一個session,所以相當于是同一個請求,于是執行一條sql語句,后來老師再次使用工具類獲得session,所以就有兩條session,有不同的sessionID,執行main函數相當于是兩個不同的請求,所以執行兩條sql語句,緩存的實質就是看是不是用的用一個session,個人理解,望指正0.0
2017-07-07
最新回答 / shesolo
<ehcache> <diskStore path="java.io.tmpdir" /> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" /></ehcache>這個是默認的,不用改也不會出現你的那個問題
2017-03-09
query.list();
不使用緩存,直接查詢。
query.iterate();
先在緩存中查詢,沒有查詢到就再去數據庫查詢。
對于Query接口的list()方法與iterate()方法來說,都可以實現獲取查詢的對象,但是list()方法返回的每個對象都是完整的(對象中的每個屬性都被表中的字段填充上了),而iterator()方法所返回的對象中僅包含了主鍵值(標識符),只有當你對iterator中的對象進行操作時,hibernate才會向數據庫再次發送SQL語句來獲取該對象的屬性值。
不使用緩存,直接查詢。
query.iterate();
先在緩存中查詢,沒有查詢到就再去數據庫查詢。
對于Query接口的list()方法與iterate()方法來說,都可以實現獲取查詢的對象,但是list()方法返回的每個對象都是完整的(對象中的每個屬性都被表中的字段填充上了),而iterator()方法所返回的對象中僅包含了主鍵值(標識符),只有當你對iterator中的對象進行操作時,hibernate才會向數據庫再次發送SQL語句來獲取該對象的屬性值。
2017-03-07
最新回答 / 逗逗1830109
hibernate的緩存策略1.什么是緩存?:并不是指計算機的內存或者CPU的一二級緩存緩存是指為了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能的一種策略2.為什么使用緩存?...
2017-02-21