inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 1 - 요구사항 분석과 기본 매핑

멀티DB(다중유닛) 환경에서 Entity 들을 유닛 별로 등록시킬 방법이 있을까요?

해결된 질문

482

Truestar

작성한 질문수 68

1

안녕하세요 김영한 강사님^^ 열심히 응용하다가 문제가 생겨 여쭈어봅니다

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 를 주석처리 하지않고
특정 앤티티는 생성되지 않게 하는 방법이 있을까요?
패키지 필터 같은 기능이 있는지 궁금합니다.

읽어주셔서 감사합니다.

JPA java

답변 4

3

Truestar


적용 초반에 변수가 생겨서 적용하는데 착오가 많았지만
다음과 같이 해결 하였습니다.

<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>

주신 정보 덕분에 잘 해결되었습니다.
감사합니다^^!!!

0

wclee

같은 고민하고 있었는데 감사합니다!!

0

Truestar

지금은 Git으로 여러 프로젝트모듈 없이 하고있어요.

Git을 안쓰고는 예제 만드는것도 노하우가 필요한것 같습니다☺

1

김영한

성공하셨군요^^! ㅎㅎ

1

김영한

안녕하세요. Truestar님^^

제가 이렇게 사용해본 적이 없어서 저도 시도해본 적은 없지만

권남님이 남겨주신 다음 글을 읽어보시면 도움이 될 것 같아요^^

https://kwonnam.pe.kr/wiki/java/jpa/persistence.xml

0

Truestar

질문을 알기쉽게 다시 수정했습니다.

안녕하세요 늦은 나이 늦깎이 개발자 지망생입니다.

0

20

1

질문있습니다.

0

65

1

리뉴얼 시기

0

135

2

변경감지(더티체킹) 이후 플러시할 경우의 쿼리

0

102

1

단일 테이블 시 null 값과 연관관계 필요성 질문

0

93

1

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

125

2

inheritance startegy 선택시 고려사항

0

90

1

Entity 동등성 비교

0

83

1

실무 조언 관련 질문입니다.

0

115

1

H2데이터베이스 파일 생성

0

129

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

1

125

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

106

1

JPQL 메소드와 락

0

108

1

Delivery @OneToOne

0

116

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

190

2

UnsupportedOperationException 발생

0

204

3

H2 Database 연결이 안됩니다.

0

156

2

연관관계 매핑 질문드립니다.

0

151

2

h2데이터베이스 실행오류

0

166

2

persistence.xml

0

206

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

146

1

영속성 컨텍스트

0

122

1

JPA 프록시

0

159

1

Native Query와 MyBatis

0

142

1