何時適合在Websphere中使用數據bean或訪問bean?如果我提出基本問題,我很抱歉,我是Websphere的新手。何時在Websphere Commerce中使用訪問bean或數據bean?
在我的情況下,我試圖按產品查找目錄列表。最初我一直在使用訪問bean。這有效,但它有時會返回非常大的結果集/看起來非常耗費內存。
CatalogEntryDescriptionAccessBean cedabp = new CatalogEntryDescriptionAccessBean();
Enumeration cde = cedabp.findByCatalogEntry(productCatIdLong);
的數據bean提供了相同的方法:
CatalogEntryDescriptionDataBean cedabp = new CatalogEntryDescriptionDataBean();
Enumeration cde = cedabp.findByCatalogEntry(productCatIdLong);
爲什麼要使用一個豆比其他?更適合閱讀或寫作數據嗎?數據是由一個緩存/比另一個更新?
更新:
我發現這兩個類有如下關係:
CatalogEntryDescriptionAccessBean
|_ CachedCatalogEntryDescriptionAccessBean
|_ CompactCatalogEntryDescriptionAccessBean
|_ CatalogEntryDescriptionDataBeanBase
|_ CatalogEntryDescriptionDataBean
所以數據bean從訪問bean繼承,因此爲什麼它包含相同的可見的方法。
有趣的是,IBM的文檔指出:
訪問bean提供...的 主對象的緩存,並降低呼叫業務的企業bean。使用訪問bean具有額外 優點:
在運行時,訪問bean緩存的企業bean home對象 因爲看UPS的主對象是昂貴的,在時間 和資源使用方面。訪問Bean實現了一個copyHelper對象 ,該命令在命令 獲取和設置企業bean屬性時減少了對企業bean的調用次數。在讀取或寫入多個 企業bean屬性時,只需要調用 企業bean。
目前,我對數據Bean服務的目的感到困惑,如果Access Bean使用CMP來減少對實體Bean的調用?
我找到了一些狀態的詳細資料:
數據bean是一個Java bean是在JSP頁面檢索來自企業Bean 信息。一個簡單的數據bean擴展了其相應的訪問bean並實現了SmartDataBean接口。 通過擴展訪問bean,數據bean提供了一個實體bean的簡單 表示(間接):它封裝了可以從實體bean中檢索或設置的 屬性。