의 JPA 사용 차이점 OSGi의 초보자 인 나의 프로젝트는 OSGi 컨테이너 (아파치 펠릭스, 배포 가능한 jar), 지속성 번들 (jpa 사용) 및 다음과 통신하여 개발 및 실행합니다. jpa 프로 바이더 (Hibernate)를 통한 데이터베이스 (MySql).
OSGi에 대한 jp 사양을 읽었으므로 올바르게 이해했다면 OSGI jpa 엔터프라이즈 사양을 구현하는 OSGi에 JPA 공급자를 사용해야합니다. 이 jpa 공급자는 등록 된 지속성 번들을 추적하여 EntityManagerFactory를 만듭니다.OSGi의 유무에 관계없이
그래서 EntityManagerFactory를 만드는 데 직접 (Persistence.createEntityManagerFactory를 ("XX")을)은 JPA 공급자를 사용하거나 레지스트리에서 검색의 차이점이 무엇인지 :
serviceReferences = context.getServiceReferences(
EntityManagerFactory.class.getName(),
String.format("(%s=%s)",
EntityManagerFactoryBuilder.JPA_UNIT_NAME,
persistenceUnit));
내가 사용하고자하지 않을가 어떤 컨테이너 (apache karaf, geronimo, spring dm, ..), OGSi 엔터프라이즈의 구현으로 "org.apache.aries.jpa.api"와 같은 OSGi 컨테이너를 시작하고 시작하는 것으로 충분합니다. jpa spec을 검색하고 내 영속성 단위 이름과 관련된 레지스트리에서 "EntityManagerFactory"서비스 만 검색하거나 HibernatePersistence와 같은 PersistenceProvider를 자신이 등록해야합니다. 내 persistence.xml 파일?
이 주제에 대한 많은 토론이 있습니다. 은 OSGi 서비스 및 서비스에 관한
감사