2

我有一个实体:-

@Entity
@Table
public class Application{

@Inject
@QualifierName
private Event<Application> applicationXXX;

public void someMethod(){
 applicationXXX.fire(someObject);
}
//BODY
} 

在 MyEventhandler 类中,我正在使用:

public void onXXX(@Observes @QualifierName Object someObject){

}

事件的应用程序类中的注入 --- applicationXXX 为空。

但是,如果我在其他课程中进行相同的注射,那么它就不是空的并且可以正常工作。

任何人都可以帮助我并指出我在这里缺少什么???

我不能在实体中注入 CDI 事件吗???还是有其他方法???

谢谢

4

1 回答 1

4

JPA 实体很特殊,因为它们已经在 J​​PA 的管理下,你需要为它们提供生产者,即使那样我真的怀疑注入是否仍然有效。我建议不要在 JPA 实体中使用 CDI 概念。

对于这种情况,我会调用其他一些中间人类来处理事件触发。

于 2013-06-24T16:28:10.850 回答