인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jandeungun님의 프로필 이미지
jandeungun

작성한 질문수

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

객체와 테이블 매핑

데이터베이스 schema

해결된 질문

작성

·

194

1

안녕하세요 프로젝트에 JPA를 적용해보고자 열심히 강의를 듣고있습니다. 책도 구매했었는데 강의를 들으니 더 잘 이해가 되는 것 같습니다. 감사합니다.

본론으로 들어가서 질문을 드리겠습니다.

db구조가 모두 똑같은 다른 스키마 a,b가 존재하는데요 

한 프로젝트에서 요청 파라미터에 따라 스키마를 동적으로 선택할 수 도있을까요?

+같은 Member Entity를 가지는데 a or b 스키마의 Member table 로 구성되어있습니다.

감사합니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. ruji716님

저도 열심히 들어주셔서 감사합니다^^

스키마를 동적으로 선택하는 것은 불가능합니다.

대신에 데이터베이스 커넥션부터 둘로 쪼개어서 사용하는 것은 가능합니다.(데이터베이스가 물리적으로 분리되어 있어도 가능)

데이터베이스 커넥션을 a, b 각각 따로 만들고, 엔티티 메니저 팩토리도 a,b용을 각각 따로 만들어서 연결해둡니다. 이렇게 해두고 a용 엔티티 매니저 팩토리와, b용 엔티티 매니터 팩토리가 같은 엔티티를 사용하도록 하면 됩니다.

이렇게 해두면 애플리케이션에서 a스키마로 동작해야 하면 a 엔티티 메니저 팩토리를 사용하면 되고, b스키마로 동작해야 하면 b 엔티티 매니저 팩토리를 사용하면 됩니다.

관련해서 더 자세한 내용은 "spring boot multi datasource jpa"라는 키워드로 검색해보시면 찾으실 수 있을거에요^^

도움이 되셨길 바래요.

jandeungun님의 프로필 이미지
jandeungun

작성한 질문수

질문하기