first-level-cache

    1熱度

    1回答

    我們有一個使用NHibernate進行.net模塊持久性的brownfield多用戶應用程序(99%Delphi,1%.net)。在我的應用程序中,我可以爲某個實體添加類別。如果我選擇一個並決定不使用它(因此再次刪除類別),我已經被NHibernate加載並保留在會話的一級緩存中。現在,如果其他用戶刪除了這個類別,我嘗試保存我的實體,那麼我的應用程序會拋出一個異常,因爲加載的對象不再存在。 我的問

    1熱度

    2回答

    一級緩存與休眠時的查詢緩存不同嗎?我看過關於第一級和查詢緩存的文章,所以我很困惑。

    0熱度

    3回答

    下面的方法正常工作在我的服務層: public override IList<City> GetAll() { var query = from item in _tEntities select item; query.Load(); return _tEntities.Local; } ,但是當我嘗試運行下面的方法,該方法返

    1熱度

    3回答

    在休眠已經有一級緩存可用於緩存,那麼爲什麼我們必須使用二級緩存?爲什麼我們不能在Hibernate中只使用一級緩存進行緩存,而不是第二級?

    14熱度

    1回答

    這個Hibernate配置表面上應該控制在第一級緩存中有多少對象被緩存。原因很容易理解,我們不想耗盡內存。 但有些事情讓我感到困惑。我看到的每個實現包括this website 都有明確的清晰和清晰。沒問題,但那配置屬性有什麼意義? 注意:我假設Hibernate監視緩存的大小,並且如果某個類型的對象的數量增長到大於緩存大小,那麼將緩存與數據庫同步。不知道這個假設是錯誤的嗎?

    4熱度

    2回答

    在NHibernate使用Load或Get方法時,您可以輕鬆受益於第一級緩存。但是ICriteria,HQL,Linq-to-NHibernate和QueryOver呢?他們也使用一級緩存嗎?

    3熱度

    2回答

    EntityManager爲檢索到的對象維護第一級緩存,但是如果您想要創建和關閉每個事務的entityManager的線程安全應用程序。 那麼,如果這些實體創建並關閉每個事務,那麼級別1高速緩存的重點是什麼?或者,如果您在單線程中工作,entityManager緩存是否可用?

    0熱度

    1回答

    在線程/會話生存期間管理第一級緩存中的持久化實體的正確方法是什麼?實際上,每個線程(會話)中只有一個或兩個持久實例應始終存在,以便在保存之前從其他(臨時)實體引用它們。 因爲我需要一段時間來清除會話緩存每一次(否則它被填滿和痛苦的緩慢),有什麼我不知道是 - 我應該: 逐出會話中的所有實體,除了我需要的東西? 清除整個會話,並重新加載必要的實體? 創建一個新的會話並重新加載必要的實體?

    0熱度

    4回答

    我剛剛閱讀了我的一個ASP.NET頁面的跟蹤,並且我注意到每次需要用戶時都會從數據庫加載頁面用戶。由於每個ISession都應該緩存對象,所以我對此很困惑。 從邏輯上講,這個問題肯定是以下兩種情況之一: 的ISession的高速緩存未正確 工作的每一個用戶請求時,它正在使用不同的裝ISession 我假設問題是數字2)。我使用Castle Windsor來管理對象生命週期,所以我發佈了一些我正在使