我是JPA和CDI的新手,我嘗試使用這些框架創建企業應用程序。JPA CDI將DAO注入到實體
我得到了我可以如何注入豆類並保持一切整潔和無狀態。我也得到JPA加載關係等等,這樣我就不用擔心它了。我仍然使用我的DAO來查找特定的方法,並且可以創建新的實體。
據我所知,我不想注入到我的實體的東西,因爲他們由JPA管理,我需要使用關鍵字new
創建一個新的實體(而不是加載)。
我習慣於用其他類來管理我的實體,例如,如果我們有一個用戶和一個組,我使用一個無狀態的bean來管理這個組(創建新的,找到其他類),並且這個無狀態bean使用我的DAO來檢索和發送數據。
我使用Group實體來管理用戶(也許這是錯誤的?),但我不想將DAO注入到組中,因爲它是一個實體。我知道這種設計有什麼問題,但我找不到最佳做法。
是否所有管理類都是EJB?我習慣於爲我的邏輯創建Domain類,我應該拋棄這個概念,把我所有的邏輯放在EJB中,並使用Entities來保存數據?
目前我的團隊有一個關係(列表)和一個UserDao其中包含entitymanager。我的問題是,如果我的Group類有UserDao,或者我應該有一個管理Dao的EJB?我也應該把自己的邏輯放在EJB中而不是放在我的實體中? –
Rob
2012-04-18 14:55:10