usar tutorial sirve qué para español ejemplo cuando java-ee domain-driven-design ejb java-ee-6 cdi

tutorial - Inyectar EJB en el objeto de dominio con Java EE 6



ejb vs spring (3)

¿Cómo puedo inyectar un EJB en un objeto de dominio (una entidad JPA) con Java EE 6?


La inyección del cliente EJB3 se aplica a las "clases administradas" como Servlets y EJB (y código de página JSF, etc.).

Creo que los objetos JPA no se manejan en este sentido. Así que creo que volvería a las técnicas anteriores a EJB3, haciendo búsquedas JNDI, etc.

Sin embargo, como se ha observado, puede haber algún enredo en su jerarquía de responsabilidades si necesita hacer esto. Sería interesante que publicaras una pregunta sobre tu diseño general para que podamos pensar en los problemas de diseño. Mi posición predeterminada es que los EJB usan objetos de dominio JPA, los objetos JPA no usan EJB.


Por lo general, no haría esto simplemente porque los objetos de dominio salen de la base de datos en lugar del contenedor y, por lo tanto, la inyección de servicios no es tan sencilla.

Sin embargo, esto no significa que no deberías hacer esto.

Usted sabe lo que su sistema debe lograr y con qué otros sistemas interactúa. Este conocimiento afectará la decisión que imaginaría.

Ver enlace de registro activo . Como he querido decir en mi comentario, los pequeños sistemas elegirían esta ruta.


En Java EE 6, CDI extiende el concepto de componente administrado a cualquier cosa y EJB se puede inyectar en un bean administrado CDI (usando la anotación @Inject ). Pero aunque se ha considerado la interacción entre JPA y CDI, esto no se ha incluido en las especificaciones de Java EE 6. En otras palabras, la inyección en una entidad JPA no es posible.

Ver también