我是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