一、entity Bean 代表了以持久存儲機制保存的一個實體,通常為一個DB。客戶機通過entity bean的remote接口訪問它,實現該remote接口的對象被稱為EJB對象。每一個 entity 對象都有一個標識符。 Entity Bean的特征:持久的(分為BMP和CMP),允許共享訪問,並且有一個主鍵。二、編寫規則: 1.(1)實現EntityBean的接口。 (2).類定義為PUBLIC。 (3).類不能定義為abstract 和final。 (4).實現finaler方法(僅用於BMP)。 (5).實現商業方法。 (6).含有一個空構造器。 (7).不能實現finalize方法。 2.ejbCreate應滿足的規則: (1).訪問控制修飾符必須為public 。 (2).返回類型必為主鍵(僅對於BMP)。 (3).參數必須為佥的JAVA RMI類型。 (4).方法修飾符不能為final或static。 (5).throws子句可以包括CreateException以及應用程序中指定的其它異常。 3.ejbPostCreate:每一個ejbCreate必須對應一個ejbPostCreate方法,通常為空。 (1).參數的數量和類型必與相應ejbCreate方法匹配。 (2).訪問控制修飾符必須為public。 (3).方法修飾符不能為final和 static。 (4).返回類型必須為void。 (5).throws子句包括CreateException以及應用程序中指定的其它Exception。 4.ejbRemove方法:當EJB客戶調用此方法時,將刪除DB中該實體的狀態或EntityBean 被一個DB刪除直接移走。 5.ejbLoad方法:利用DB刷新實體變量。 ejbStore方法:將變量寫到DB中。 這兩個方法用於同步與存貯在DB中的值所對應的EntityBean實體變量。 6.finder方法的規則: (1).必須ejbFindByPrimaryKey方法。 (2).finder方法務必須以ejbFind為前綴。 (3).訪問控制修飾符必須為public。 (4).方法修飾符不能為final和 static。 (5).參數必須是合法的Java RMI類型。 (6).返回類型必須為主鍵或主鍵的集合。 (7).throws子句包括FinderException以及應用程序中指定的其它Exception。 7.商業方法 (1).方法名不能與EJB結構定義的方法名沖突。 (2).訪問控制修飾必為public. (3).方法修飾不能final 或static。 (4).參數必須為合法的Java RMI類型。三.Home接口的編寫規則: 1.Create方法的編寫規則: (1).它與enterprise Bean類中對應的方法一樣,含有相同的參數。 (2).返回Remote接口類型。 (3).throws子句包括對應的ejbCreate和 ejbPostCreate方法的異常。 2.finder講法的編寫規則: (1).Remote接口中的每一個方法必須與enterpriseBean類中的方法匹配。 (2).每個方法命名規則與enterprise Bean類中的方法的命名規則一樣。 (3).參數和返回類型必須是合法的Java RMI類型。 (4).throws子句包括RemoteException。