我聽說session.close(),之後,這個會話中的對象將被從緩存中刪除。after session1.close(),session2從緩存中獲取對象進入休眠狀態
如果'是' 那麼爲什麼'session2'對象從緩存中檢索對象?
我將結束「會話1」當我取數據第一次(查詢執行)和數據將被存儲在緩存中(默認一級高速緩存),沒錯! 但是,在創建'session2'對象後,我仍然能夠檢索特定的對象(無查詢正在執行),意味着它正在從緩存中取得對象! .... 爲什麼?
在形象,我有我的粘貼代碼 Image : my java files, table, persistent class, output
你是如何的結論,這是同一個對象,你在獲取前一交易日???? – Zulfi
因爲沒有查詢我的第二次會議的對象執行(對象o = session2.load(Pojo_class.class,1))...這就是爲什麼我認爲這是從我從第一屆的對象(標準檢索同一對象檢索C = session1.createCriteria(Pojo_class.class); c.add(Restrictions.eq(「ID」,1);我錯了有關會議2相同的對象 –
檢查,如果您檢索對象的引用是相同或不?它不會是相同的按規格。也可以大家分享您所創建Hibernate配置。是第二級緩存,或者查詢緩存啓用或不??? – Zulfi