Generic Attribute Access Interface由Entity EJB的本地或遠程接口實現,并利用Hash Maps傳輸數據。實現方式常見如下:
1. BMP類型實體EJB可以在Bean類中定義包含所有屬性的私有成員變量HashMap。
2. CMP類型實體EJB可以在Bean類中可以適用Java Reflection API實現。
3. 建立一個父類,在不同的情況下定義子類重載父類方法。
使用Generic Attribute Access Interface需要在客戶端與服務器端對屬性以及對應的關鍵字建立統一的命名習慣。常見的做法如下:
1. 建立并保持良好的文檔記錄和命名約定。
2. 在實體EJB的實現類中定義靜態成員映射屬性。
3. 創建共享靜態類,通過成員變量映射實體EJB屬性。
4. 通過JNDI在服務器端保存屬性映射關系。
Generic Attribute Access Interface的運用帶來一下益處:
1. 接口實現后對不通實體EJB都適用。
2. 對屬性較多實體EJB能精簡代碼,并更具維護性。
3. 使運行中動態增刪實體EJB屬性成為可能。