我正在研究一個項目,我們需要決定如何公開我們的持久層。EJB3 vs數據訪問對象
目前在桌上有兩種選擇:
1)使用普通的DAO。這些將實現一個接口並在作爲EJB的業務組件中注入(可能使用Weld)。在內部他們會使用JPA/Hibernate進行持久化。
2)而不是使用注入的焊縫的DAO,它們將被實現爲的EJB,並與在業務組件@EJB注入。
是否真的有意義使用EJB的持久化層的時候,我們不使用它的功能(例如事務管理 - 業務層,涉及這一點)?
在使用EJB over Weld(或其他方式)時是否存在性能損失?
你認爲最好的選擇是什麼?
你正在部署'in container'嗎?哪個容器?使用EJB3 *可能會使部署更加直接。使用JEE6恕我直言,沒有什麼理由避免EJB和許多使用它的情況*。價值2p。 – 2011-02-13 09:38:29
那些你根本不需要額外的EJB功能的情況(例如安全性,交易...)。我認爲在這些情況下,CDI是一個很好的候選人? – 2011-02-14 12:13:17