inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

455

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

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