posts - 66,  comments - 11,  trackbacks - 0

          持久化實體Bean的兩種方式:
              既然需要將實體Bean映射到存儲源中,應用肯定需要提供操作RDBMS的代碼。
              Bean管理持久化實體Bean,是手工完成持久化行為的EJB類型。換句話所,組件開發者必須開發代碼,以將內存中的持久化域存儲到底層存儲源中。這種方式成為BMP。
              EJB規范還提供了BMP的替代組件類型:借助于EJB容器完成數據的持久化。這就是容器管理持久化(CMP)。此時,通常都要將持久化邏輯從CMP中剝離出來。然后借助于容器提供的工具完成數據的自動持久化。最后,EJB容器將生成訪問數據庫的代碼。注意,CMP是獨立于任何O/RMapping技術的數據對象,因此可以在各種企業環境中重用CMP組件。
              CMP極大減少了實體Bean的代碼量,因為不用直接編寫JDBC代碼了。EJB容器將會處理所有的持久化操作,這是EJB勢能應用的優勢之一。
              在執行ejbCreate()方法期間,即在初始化內存中的實體Bean時,將會在底層RDBMS中插入新的記錄,并將這些記錄同實體Bean實例建立起映射關系。當調用BMP實體Bean的ejbCreate()時,它將負責生成RDBMS中的數據。類似的,當調用BMP實體Bean的ejbRemo()時,它將負責RDBMS中數據的刪除。

              在EJB領域中,客戶并沒有直接調用EJB實例,它們僅僅調用了EJB對象代理。借助于Home對象能夠生成EJB對象。因此,對于定義在EJB Bean類中的各個ejbCreate()方法,在Home接口中也將存在對象的create()方法。當客戶調用Home對象的create()方法時,容器將把調用請求委派給ejbCreate()方法。
              開發者可以通過多種方式查找實體Bean.需要在實體Bean的Home接口中列舉出這些查找方法。我們稱這些方法為"finder"方法。除了暴露創建、銷毀實體Bean實例的方法外,Home接口還需暴露finder方法。這是實體Bean的Home接口同其他EJB類型中的Home接口的最明顯區別。

              實體上下文,所有的EJB組件都存在上下文對象供組件訪問到容器環境使用。這些上下文對象含有EJB容器設置的環境信息。因此EJB組件能夠訪問到上下文,從而獲取各種信息,比如事務,安全性信息。對于實體Bean而言,存在javax.ejb.EntityContext上下文接口。它繼承自EJBContext
          public interface javax.ejb.EntityContext extends javax.ejb.EJBContext{
           public javax.ejb.EJBLocalObject getEJBLocalObject();
           public javax.ejb.EJBObject getEJBObject();
           public java.lang.Object getPrimarykey();
          }
              通過調用getEJBObject()方法,當前客戶能夠獲得某實體Bean實例對應的EJB對象。客戶調用的是EJB對象,而不是實體Bean實例本身。因此,客戶能夠在應用中引用返回的EJB對象。
              實體Bean實例對應的主鍵可以通過getPrimaryKey()方法獲得。主鍵唯一標識某實體Bean實例。當實體Bean實例存儲到存儲源中時,可以使用主鍵獲得單個實體Bean實例。由于在RDBMS中也存在主鍵,因此主鍵能夠唯一標識某個實體Bean實例。

          posted on 2009-11-15 12:21 王永慶 閱讀(203) 評論(0)  編輯  收藏 所屬分類: EJB學習筆記
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          關注blogs

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 巫溪县| 奉化市| 镇江市| 鹿泉市| 巫山县| 股票| 城固县| 隆化县| 通州区| 墨竹工卡县| 阳泉市| 江山市| 深州市| 泸定县| 正镶白旗| 中江县| 阳泉市| 泰宁县| 云龙县| 兴隆县| 九龙县| 镇安县| 鸡西市| 高密市| 千阳县| 乌恰县| 巴里| 中山市| 化隆| 灵寿县| 柏乡县| 浮山县| 东宁县| 新绛县| 吉林市| 时尚| 福贡县| 湖口县| 垣曲县| 阳朔县| 辽宁省|