2016-11-16 44 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