2017-02-11 13 views
10

Tôi có cùng câu hỏi như dưới đây, nhưng tôi muốn biết câu trả lời. Spring Boot: How to use multiple schemas and dynamically choose which one to use for every request at runtimeKhởi động mùa xuân: Cách sử dụng nhiều lược đồ và tự động chọn sử dụng lược đồ nào tại thời gian chạy

Xin hãy giúp tôi trong việc tìm kiếm câu trả lời cho

Làm thế nào tôi có thể có một kết nối cơ sở dữ liệu và chỉ định một giản đồ khác nhau cho mọi yêu cầu?

Cảm ơn bạn trước.

+0

Vui lòng giải thích sự cần thiết cho các bảng giống hệt 1K. (Liên kết dường như có ấn tượng sai lầm rằng nó bằng cách nào đó sẽ tốt hơn so với một bảng đơn hàng tỷ.) –

+0

Bạn đang sử dụng Hibernate? Hoặc trực tiếp JDBC? – koe

+0

Tôi đang sử dụng JPA và JDBC – AndroidDev

Trả lời

7

Nó sẽ không hoạt động để có nhiều nguồn dữ liệu được xác định, và tùy thuộc vào yêu cầu của bạn, thay đổi thành một lược đồ đúng?

spring.datasource.url = jdbc:oracle:thin:@//maui:1521/xe 
spring.datasource.username = schema1 
spring.datasource.password = ... 

spring.datasource2.url = jdbc:oracle:thin:@//maui:1521/xe 
spring.datasource2.username = schema2 
spring.datasource2.password = .. 

@Bean 
@Primary 
@ConfigurationProperties(prefix="spring.datasource") 
public DataSource schema1() { 
    return DataSourceBuilder.create().build(); 
} 

@Bean 
@ConfigurationProperties(prefix="spring.datasource2") 
public DataSource schema2() { 
    return DataSourceBuilder.create().build(); 
} 

Nếu không, bạn cần phải giết & tái tạo kết nối để tiếp tục sử dụng nguồn dữ liệu duy nhất, nhưng điều đó sẽ được thực sự chậm cho ứng dụng của bạn kể từ khi kết nối lại một lần nữa và một lần nữa. Sẽ tốt hơn nếu bạn sử dụng một số cơ sở dữ liệu NoSQL để đạt được lưu trữ dữ liệu động sắp xếp này.

+0

Không, tôi đang sử dụng db signle nhưng các lược đồ và tên lược đồ khác nhau được đưa ra thông qua cơ thể api, tôi cần truy vấn từ nhiều lược đồ và trả lời. – AndroidDev

+0

bạn có thể cho tôi biết làm thế nào tôi có thể giết và tạo lại kết nối, nó sẽ hữu ích. Cảm ơn bạn đã phản hồi. – AndroidDev

+0

@LakshmiNaresh Đề xuất của tôi sẽ hoạt động với cùng một cơ sở dữ liệu với các lược đồ khác nhau, có thể đó là một chút mơ hồ do phần url bị thiếu. Bạn đã thử sử dụng nó chưa? –

Các vấn đề liên quan