멀티DB(다중유닛) 환경에서 Entity 들을 유닛 별로 등록시킬 방법이 있을까요?
안녕하세요 김영한 강사님^^ 열심히 응용하다가 문제가 생겨 여쭈어봅니다

1. 일반예제 - 메모리 DB
persistence-unit: test
2. 실전예제 - 실제 DB
persistence-unit: jpa_shop
제가 공부 목적으로 DB를 용도별로 나눠 여러 케이스 예제를 만드는 중입니다.
저의 경우는 만들어놓은 엔티티 개수대로 테이블이 생성이 되는데 다음과 같이 EMF를 나누어 특정 DB만 작동되게는 해보았습니다.
예제1) 의 EMF 생성옵션
Persistence.createEntityManagerFactory("mem");
예제2) 의 EMF 생성옵션
Persistence.createEntityManagerFactory("jpa_shop");
그런데 필요없는 다른 챕터의 Member 시리즈 객체 까지
모두 엔티티화 되어 테이블까지 같이 생성이 됩니다.
필요없는 @Entity 를 주석처리 하지않고
특정 앤티티는 생성되지 않게 하는 방법이 있을까요?
패키지 필터 같은 기능이 있는지 궁금합니다.
읽어주셔서 감사합니다.
답변 4
3

적용 초반에 변수가 생겨서 적용하는데 착오가 많았지만
다음과 같이 해결 하였습니다.
<persistence-unit name="유닛명">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>풀페키지.엔티티1</class>
<class>풀페키지.엔티티2</class>
...
...
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
...
...
여기서 주의 하실 점이 있습니다
*** 현 hibernate 5.4 기준 ***
다음 선언 순서를 지켜야 합니다.
1. <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
2. <class>등록할 엔티티</class>
...
...
3. <exclude-unlisted-classes>true</exclude-unlisted-classes>
주신 정보 덕분에 잘 해결되었습니다.
감사합니다^^!!!
1
안녕하세요. Truestar님^^
제가 이렇게 사용해본 적이 없어서 저도 시도해본 적은 없지만
권남님이 남겨주신 다음 글을 읽어보시면 도움이 될 것 같아요^^
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
49
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
47
1
JPQL 메소드와 락
0
50
1
Delivery @OneToOne
0
56
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
86
2
UnsupportedOperationException 발생
0
82
3
H2 Database 연결이 안됩니다.
0
87
2
연관관계 매핑 질문드립니다.
0
80
2
h2데이터베이스 실행오류
0
104
2
persistence.xml
0
102
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
77
1
영속성 컨텍스트
0
62
1
JPA 프록시
0
88
1
Native Query와 MyBatis
0
62
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
82
1
임베디드 타입 예시 코드 관련 질문
0
111
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
90
3
인텔리제이 패키지 커서 단축키 질문
0
105
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
135
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1
데이터베이스가 초기화되는 것 같아요
1
175
2





