2016-06-29 4 views
1

임차인 데이터베이스 구성이 Redis에 저장되는 멀티 테넌트 애플리케이션을 구축 중입니다. 요청에 따라 필자는 해당 거주자를 위해 구성된 데이터베이스와 스키마를 얻기 위해 Redis를 쿼리 할 것이고,이 응용 프로그램은 스프링 부팅을 기반으로 구축됩니다.스프링 부트 JPA는 데이터베이스와 스키마가 런타임에 제공되는 포스트그레스에 연결합니다.

스프링 부트의 JPA 샘플을 살펴본 결과, 적절한 솔루션을 찾기 위해 더 많은 구글을 ​​시도했지만, 불행히도 찾을 수 없었습니다.

여기 제공된 JPA 샘플을 실제로 사용할 수 있습니까? https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-jpa

나에게이 문제를

감사

답변

1

스프링 데이터 JPA는 도메인 모델을 정의하는 JPA 어노테이션을 사용을 해결하기 위해 다른 최상의 방법을 제안 해주십시오. 이 JPA 엔티티는 데이터베이스에 대한 스키마를 정의합니다. 분명히 런타임시 이러한 엔티티 나 DB 스키마를 변경할 수 없습니다.

스프링 부트 + 스프링 데이터 JPA 콤보에서는 런타임시 스키마 업데이트가 불가능합니다.

데이터베이스 연결 (예 : DB URL, 사용자 이름 비밀번호)이 더 유연 할 수 있습니다. 프로그래밍 방식으로 DataSource bean을 생성해야하고, 테넌트마다 각 쿼리에 사용할 데이터 소스를 어떻게 든 프로그래밍 방식으로 정의해야합니다. 그러나 이것은 봄이나 JPA 생태계의 요구 사항이 아니므로 많은 문제에 직면 할 수 있습니다.

이전에는 그런 시스템에서 작업하고 있었지만 JDBC를 통해 일반적인 SQL 쿼리를 사용하고 런타임에 스키마 변경을 달성하기 위해 프로그래밍 방식으로 DB 연결을 만들었습니다.

관련 문제