将会话bean注入实体

我正在使用EJB3.1,CDI和持久域对象模式编写一个JEE6应用程序。 在某些情况下,我需要在一个实体内部拥有一个会话bean实例(jpa2.0)。 使用@Inject或@EJB注入它不起作用。 它始终是一个空引用。

唯一可能的解决方案是通过InitialContext进行查找。 但这真的很糟糕。 有没有人知道如何从实体访问会话bean的解决方案?

我读过无状态会话bean工厂,但无法找到任何示例。


实体是由你创建的,如果你想将bean注入到它们中,它们应该由容器创建。

从技术上讲,你可以让你的实体由CDI容器管理,而不是让new YourEntity使用@Inject @New YourEntity entity 。 但这有点违反直觉。 我没有尝试过。

这是关于贫血数据模型与领域驱动设计的更大讨论的一部分。 也就是说,你的实体是否应该是没有任何行为的数据持有者,还是应该有逻辑(并且隐藏自己的状态)

链接地址: http://www.djcxy.com/p/61413.html

上一篇: Inject session bean into Entity

下一篇: Migrating EJB2.x BMP entity beans