2011-11-15 3 views
2

EJB3.1, CDI 및 영구 도메인 개체 패턴을 사용하여 JEE6 응용 프로그램을 작성하고 있습니다. 어떤 경우에는 엔터티 (jpa2.0) 내부에 세션 빈의 인스턴스가 있어야합니다. @Inject 또는 @EJB를 사용하여 주입하지 않습니다. 그것의 항상 null 참조.엔터티 빈을 엔터티에 넣으십시오.

유일하게 가능한 해결책은 InitialContext를 통해 조회를 수행하는 것이 었습니다. 그러나 이것은 정말로 나쁩니다. 엔티티에서 세션 빈에 액세스하는 방법을 아는 사람이 있습니까?

나는 무 상태 세션 콩 공장에 대해 읽었지만 어떤 사례도 찾을 수 없었다.

답변

1

엔티티는 사용자가 만들고 빈을 주입하려는 경우 컨테이너로 만들어야합니다.

기술적으로 CDI 컨테이너로 엔티티를 관리 할 수 ​​있으며 new YourEntity@Inject @New YourEntity entity으로 사용하는 대신 그러나 이것은 반 직관적입니다. 나는 그것을 시도하지 않았다.

이것은 빈혈 데이터 모델과 도메인 기반 디자인에 대한 토론의 일부입니다. 나는. 엔티티가 아무런 동작없이 데이터 소유자 여야하는지 또는 논리가 있어야하는지 (상태를 숨길 지 여부)