2016-11-16 43 views
1

我正在使用spring啓動,Angular,mysql和mongodb的web應用程序。當我連接到多個數據源時,我應該編寫單獨的代碼來將這些數據保存在這些數據庫中。我正在擴展JpaRepostiory並執行CRUD操作。與多個數據源連接到mysql和mongodb的春季啓動

我想知道如果有,而我處理多個數據源,以避免冗餘代碼,以將數據保存

回答

1

獨立的倉庫分成不同的包裝,並添加到您的配置這一點,我應該遵循最佳做法:

@EnableJpaRepositories(basePackages = "com.acme.repositories.jpa") 
@EnableMongoRepositories(basePackages = "com.acme.repositories.mongo") 
interface Configuration { } 

但我也會使用MongoRepository,以便顯然存儲庫正在與MongoDB對話。它延伸CrudRepository就像JpaRepository,所以你不應該改變你的代碼。

+0

感謝您的回覆。我想了解分離背後的原因。 是否有任何價值添加或維護緩解?如果我必須分開存儲庫,那麼我可能不得不重寫幾組構建必須被持久化的對象的代碼,或者我應該將它們放在一個共同的地方並在其中使用。 界面內部配置配置{} – CrazyMac

+0

在一個應用程序中使用兩個數據庫無論如何都是很大的設計氣味。如果您需要這樣做,明確基礎技術至關重要。 – luboskrnac

+0

好的。所以我認爲你的建議是使用相關的存儲庫,即使它需要基於應用程序的冗餘。你能解釋一下這句話嗎?'無論如何都有大的設計氣味' – CrazyMac