我是 JPA 和 CDI 的新手,我正在尝试使用这些框架创建企业应用程序。
我知道如何注入 bean 并保持一切整洁和无状态。我还知道 JPA 会为我加载关系等,这样我就不必再担心了。我仍然将我的 DAO 用于特定的查找方法,当然还可以创建新实体。
我知道我不想将东西注入我的实体,因为它们由 JPA 管理,我需要使用new
关键字来创建一个新实体(而不是加载)。
我习惯于使用其他类来管理我的实体,例如,如果我们有一个用户和一个组,我使用无状态 bean 来管理组(创建新的、查找的等),并且这个无状态 bean 使用我的 DAO 来检索和发送数据。
我使用 Group 实体来管理用户(也许这是错误的?)但我不想将 DAO 注入到 Group 中,因为它是一个实体。我知道这个设计有问题,但我找不到最佳实践。
所有管理类都应该是 EJB 吗?我习惯于为我的逻辑创建域类,我是否应该抛弃这个概念,将我的所有逻辑放在 EJB 中并仅使用实体来保存数据?