2011-08-26 71 views
0

我正在閱讀一些ejb 2.0文本,到目前爲止我已經閱讀了很多這樣的文檔,但仍然感到困惑,爲什麼我們需要爲每個bean同時使用EJBLocalObject和EJBLocalHome接口。爲什麼我們在EJB 2.0中需要EJB的EJBLocalObject和EJBLocalHome接口?

舉例來說,我有一個bean:

public abstract class Students implements EntityBean { 
} 

那我肯定有

public interface StudentsLocal extends EJBLocalObject { 
} 

而且

public interface StudentsLocalHome extends EJBLocalHome { 
} 

我知道每個接口的作用,但仍然不知道什麼會發生如果我們沒有EJBLocalHome接口或類似的東西?否則呢?

回答

0

客戶端爲了使用本地EJB做些什麼?你去家裏,問一個例子。沒有家,你如何提出獲得實例?

還有一些方法,例如remove(),它們位於Home上而不是實例上。

但是,除非您正在維護遺留代碼,否則您確實不想執行任何操作 - 使用EJB 3和JPA:要容易得多。

+0

正如我所說,我知道家庭和地方的作用。但我的意思是,爲什麼我們不能直接訪問Local或Remore EJB。爲什麼我們需要另一個圖層Home?關於刪除,在實體bean的原因中,Home和本地EJB對象都有remove()方法。在本地EJB的Incase中,remove()不帶參數,因爲它是已知的誰應該被刪除。但是在Home中,remove()使用參數來確定應該刪除哪個bean實例。這一點讓我困惑,爲什麼這兩個接口? – ipkiss

+0

我認爲你接受我們需要一個創建接口,這必須在家裏肯定?通過對稱,對我來說有一個移除「適合」是有道理的。無論是絕對「需要」還是存在疑問,但在家中刪除()會提供一些效率可能性。 – djna