我有一个实体: -
@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){
}
Application类中的注入事件--- applicationXXX为空。
然而,如果我在其他一些班级做同样的注射 它不是空的而且有效。任何人都可以帮助我并指出我在这里缺少的东西???
我不能在实体中注入CDI事件???还是有其他方法???
由于
答案 0 :(得分:4)
JPA实体很特别,因为它们已经由JPA管理,你需要为他们提供生产者,即使那时我真的怀疑注射仍然有效。我建议不要在JPA实体中使用CDI概念。
对于这种情况,我会调用其他一些中间人来处理事件发生。