2017-07-08 46 views
0

假設我在一個數據庫中有兩個模式。每個模式都有一個名爲'products'的表,它具有幾乎相同的列,如'title','sku'。Spring Data支持同時查詢多個模式的數據嗎?

我有一個實體類,如下所示,它映射到產品表:

@Entity 
public class Products { 
    private String title; 
    private String sku; 
} 

現在我想在這兩個選擇,從兩個「產品」表「稱號」和「SKU」不同的模式,我如何在Spring Data中做到這一點,或者Spring Data支持這種功能?

回答

0

不,它不是。爲了能夠從不同的數據源與spring-data-jpa你必須定義兩個單獨的實體管理器工廠,兩個獨立的事務管理器和兩個不同的配置,在

@EnableJpaRepositories(entityManagerFactoryRef = "emf1", transactionManagerRef = "tx1") 

@EnableJpaRepositories(entityManagerFactoryRef = "emf2", transactionManagerRef = "tx2") 

分別查詢數據。 然後您將能夠創建兩個不同的存儲庫並查詢您的數據。

要解決您的問題,您可以引入一個額外的抽象層次,如ProductService,您將在其中注入存儲庫,並在加載方法中遍歷它們,從每個存儲庫獲取併合並數據。

相關問題