안녕하세요, 저는 사용자 인증을 담당하는 OSGi
번들을 프로그래밍하고 있습니다. 설계상의 이유로 여러 데이터베이스 스키마에 대해 쿼리를 수행해야합니다 (이러한 스키마는 동적으로 생성되거나 삭제 될 수 있습니다). 나는 스토리지 엔진으로 MySQL
을 실행 중입니다.OSGi 및 지속성 단위
어떻게 든 그 스키마에 대한 요청 엔터티 관리자를 만들 수 있어야하지만 내 시도에서는 성공하지 못했습니다. 내가 원하는 것에 더 가까이 다가 가려는 시도는 다음과 같습니다.
사실, 기본 스키마에 데이터베이스 연결을 설정할 수있는 JTA 데이터 소스를 사용하여 지속성 단위 (Eclipselink)를 생성합니다. 그러나 어떤 속성을 재정의하려고하면 javax.persistence.jdbc.url
과 같이 말합니다. 그러나 항상 기본 스키마를 계속 가리 킵니다.
나는 올바르게 속성을 오버라이드하지 않고 있거나, JTA 데이터 소스 속성을 EntityManager
에서 EntityManager
으로 수정할 수 없다고 생각합니다. 그래서 내 질문은, 그들 모두가 기본 스키마에 poiting 유지, 마지막에
Map<String, String> dbProps = new HashMap<String, String>();
dbProps.put("javax.persistence.jdbc.url","jdbc:mysql://mydomain:3306/mydynamicdb);
EntityManagerFactory fact = Persistence.createEntityManagerFactory("myPersistenceUnit", dbProps);
EntityManager myEM = fact.createEntityManager();
:
- 이 동적 EntityManager의 처리를위한 효율적인 접근 방식 여기 내가 EntityManagers을 만드는 방법입니까? 그렇다면 어떻게 스키마 속성을 효과적으로 오버라이드 할 수 있습니까?
- 재정의 외에 다른 대안이 있습니까?
제공되는 지침에 대해 미리 감사드립니다.
감사합니다. 올바른 길을 찾아주세요! –