이 일반적인 DAO 정의프로그래밍 방식으로 EntityManager를 인스턴스화하는 방법은 무엇입니까?
@Repository
public class GenericService<T> implements IGenericService<T> {
@PersistenceContext(unitName="mgrUnit", name="mgrEMF")
@Qualifier(value = "mgrEMF")
public void setEm(EntityManager em) {
this.em = em;
util = em.getEntityManagerFactory().getPersistenceUnitUtil();
}
}
을 갖는 엔티티의 큰 숫자를 가지고, 내가
를 들어 (... 지역, EmployeSpeciality), 실체화의 DAO를 automatiqualy 백엔드 콩을 기본 테이블처럼 할 bean 등록과 instantion은 쉽지만 DAO는 어떨까요? 필자의 경우 엔 EntityManager가 서비스에 의존한다는 것을 명심해야한다. 다중 데이터베이스 연결이있다.
내가이 글을 읽을 수 있지만 honnestly 그것을 할 수있는 간단한 방법이 있나요 훨씬 복잡
http://doanduyhai.wordpress.com/2011/11/20/spring-transactional-explained/
에 보이는?
AutowireCapableBeanFactory beanFactory =
FacesUtils.getWebappContext().getAutowireCapableBeanFactory();
beanFactory.autowireBean(obj);
그것은 문제의 절반은 해결 사용
확인,의 콩 EMF가 제대로 주입하지만 빈은 registred되지는 때문에 (내가 그것을 내가 필요로 할 때마다-실체화를 다시해야한다) beanFactory에는 Bean 정의가 포함되어 있지 않으므로 추가하는 방법은 무엇입니까?
NB : 나는 응용 프로그램 MAP에서 개체를 퍼 팅하는 접근 DAO를 유지하지만하지 심각한 솔루션 수 있다는 것을 알고
FacesContext.getCurrentInstance().getExternalContext().
getApplicationMap().put(serviceName, service);