2

私はエンティティを持っています:-

@Entity
@Table
public class Application{

@Inject
@QualifierName
private Event<Application> applicationXXX;

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

MyEventhandler Class では、次を使用しています:

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

}

Event の Application クラスへの注入 --- applicationXXX は null です。

ただし、他のクラスで同じ注入を行うと、nullではなく機能します。

誰でも私を助けて、ここで欠けているものを指摘できますか???

エンティティに CDI イベントを挿入できませんか ??? または他の方法はありますか???

ありがとう

4

1 に答える 1

4

JPAエンティティは特別です。すでにJPAの管理下にあるため、プロデューサーが必要ですが、それでもインジェクションが機能するかどうかは疑問です。JPA エンティティ内では CDI の概念を使用しないことをお勧めします。

この場合、イベントの発生を処理するために、他の仲介者クラスを呼び出します。

于 2013-06-24T16:28:10.850 に答える