당신이 (지속성을 컨테이너 - 관리에 액세스 할 수없는 따라서 등) 데스크톱 응용 프로그램을 작성하는 경우, 당신은 서비스, 그리고 EntityManager를로 EntityManageFactory을 게시 좋습니다.
public void someBusinessMethod() {
EntityManager em = Activator.getEntityManager();
try {
...
} finally {
em.close();
}
}
그리고 당신의 활성화에 :이 당신에게 아이디어를 제공하는 데 도움이
public class Activator
implements BundleActivator {
private static ServiceTracker emfTracker;
public void start(BundleContext context) {
emfTracker = new ServiceTracker(context, EntityManagerFactory.class.getCanonicalName(),null);
emftracker.open();
}
public void stop(BundleContext context){
emfTracker.close();
emfTracker = null;
}
public static EntityManager getEntityManager() {
return ((EntityManagerFactory)emfTracker.getService()).createEntityManager();
}
}
희망 코드는 다음이 레이아웃을해야합니다.
감사합니다. 그러나 웹 사이트에서 각 번들에 EntityManager 인스턴스를 포함하는 방법을 설명하지 않았습니다 ... 도와 주시겠습니까? 아니면 예를 들어 주시겠습니까? 많은 감사 – user376112