【问题标题】:Inject session bean into Entity将会话 bean 注入实体
【发布时间】:2011-12-29 08:02:17
【问题描述】:

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

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

我读过关于无状态会话 bean 工厂但找不到任何示例。

【问题讨论】:

    标签: java jpa java-ee-6 cdi ejb-3.1


    【解决方案1】:

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

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

    这是关于贫乏数据模型与领域驱动设计的更大讨论的一部分。 IE。您的实体是否应该是没有任何行为的数据持有者,或者它们也应该具有逻辑(并隐藏它们的状态)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      相关资源
      最近更新 更多