首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Entity Bean 進階:容器管理持久化、部署描述符與 EJB-JAR 封裝

     編輯:J2EE

Entity Bean 介面與生命週期

實作 javax.ejb.EntityBean 介面,除繼承 Session Bean 的活化/鈍化方法外,新增:

  • setEntityContext(EntityContext) / unsetEntityContext():實體上下文注入與移除
  • ejbLoad():從資料庫載入資料到 Bean 欄位
  • ejbStore():將 Bean 欄位寫回資料庫

Bean 管理持久化 (BMP)

開發者在 ejbLoad() / ejbStore() 撰寫 JDBC 程式碼同步資料。容器啟動交易、調用 ejbLoad()、執行商業方法、提交前調用 ejbStore()。資料庫記錄在交易期間鎖定,隔離等級由部署描述符指定。ejbActivate/Passivate 不負責資料同步。

容器管理持久化 (CMP)

部署描述符宣告 container-managed 欄位,容器自動處理資料庫映射與同步。ejbLoad()/ejbStore() 仍會被調用但無實際資料庫操作。CMP 簡化開發,無需物件關聯映射工具即可高效完成基本映射,開發者常發現比 BMP 更有效率。

部署描述符:開發與部署角色分離

兩大角色:Bean 開發者(商業邏輯)與 部署者(環境配置)。部署描述符為標準 Java 類別,序列化後放入 JAR。核心內容:

  • Bean 基本資訊:Home/Remote 介面類別、Bean 類別、環境屬性
  • SessionDescriptor:狀態類型、逾時設定
  • EntityDescriptor:容器管理欄位列表、主鍵類別名稱
  • ControlDescriptor 陣列:每方法的交易屬性(隔離等級、交易屬性、run-as 身分)

交易屬性六種:TX_NOT_SUPPORTED、TX_SUPPORTS、TX_REQUIRED、TX_REQUIRES_NEW、TX_MANDATORY、TX_BEAN_MANAGED。開發者指定,部署者通常不修改。

EJB-JAR 封裝標準

JAR 包含:Bean 類別、Home/Remote 介面、序列化部署描述符、圖示檔。Manifest 須宣告部署描述符條目:

Name: AccountDD.ser
Enterprise-Bean: true

廠商提供工具協助產生部署描述符並打包 JAR,開發者無需手動操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved