http://bbs.csdn.net/topics/30315617
SessionBean封裝過程;EntityBean封裝資料。
· Session Bean
Session Bean在J2EE Server上代表的是一個Client。Client通過調用Session Bean的方法來訪問遠程服務。Session Bean為它的Client完成特定的工作,並通過在server端運行business tasks,向Client屏蔽了實現的複雜性。
Session Beans有兩種狀態管理員模式:Stateful和Stateless
Stateless Session Bean不能夠維持一個調用客戶的狀態。在一個方法調用的過程中,Stateless Session Bean可以維持調用客戶的狀態,但是當方法執行完時,狀態不會被保持。在調用完成後,Stateless Session Bean被立即釋放到緩衝池中,所以Stateless Session Bean具有很好的伸縮性,可以支援大量使用者的調用。
Stateful Session Bean可以一對一的維持某個調用客戶的狀態,並且在不同的方法調用中維持這個狀態, 由於對於每一個並發使用者,必須有一個對應的Stateful Session Bean,為了提高系統的效率,Stateful Session Bean可以在一定的客戶空閑時間後被寫入二級存放裝置(如硬碟),在客戶發出新的調用請求後,再從二級儲存 裝置恢複到記憶體中。
· Entity Bean
Entity Bean代表的是持續儲存機制中的一個企業對象。它的持續可以被Entity Bean自己管理,也可以由EJB容器來管理。
Entity Bean代表資料庫或另外一個公司專屬應用程式系統中的資料對象,如代表資料庫的一行記錄。和Session Bean不同,Entity Bean是持久的(persistent),允許共用訪問。持久性(Persistence)是指Entity Bean的狀態不依賴於應用伺服器而存在。因為Entity Bean是底層資料庫記錄的映像,會和資料庫記錄保持同步,所以,即使當應用伺服器崩潰或停止運行,Entity Bean的狀態還會儲存在資料庫中,不會丟失。