【发布时间】:2016-04-26 20:02:30
【问题描述】:
我正在使用连接到数据库的 Spring Boot 编写服务器应用程序。该应用程序使用 Hibernate / JPA 并且应该支持多个 DB 引擎,理想情况下只需配置 Spring Boot 属性 (spring.datasource.*)。
目前,它只支持 MySQL,为了支持开箱即用,我在我的 pom.xml 文件中添加了这个依赖项,正如许多 SO 问题中所建议的那样:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
支持多个数据库引擎的最简洁的方法是什么?我应该:
- 在 pom.xml 中包含我希望作为运行时依赖项支持的所有引擎依赖项? (似乎太“健谈”,手动且不完整)
- [编辑] 添加一些已经拥有最新数据库引擎列表的统一依赖项? (我找不到)
- 不在 pom.xml 中包含任何依赖项,并要求应用程序部署者进行额外的服务器配置,以便在类路径中拥有正确的引擎库? (向部署人员询问似乎是不必要的复杂步骤)
- 还有什么其他方式可以干净利落地做到这一点?
谢谢。
【问题讨论】:
-
只是用我的解决方案来回答:我实际上与客户交谈过,看看他们对此有何看法。事实证明,他们都已经在他们的服务器的类路径上有一个 DB 驱动程序,因此选项“不包括 pom.xml 中的任何依赖项......”对于我的情况似乎是正确的。我的软件的客户是银行,其他类型的客户可能会有所不同。
标签: spring hibernate maven spring-mvc jpa