【发布时间】:2015-06-19 15:49:13
【问题描述】:
从 Spring 示例开始使用 REST 访问 MongoDB 数据 (https://spring.io/guides/gs/accessing-mongodb-data-rest/) 我想集成一个 PostgreSQL 数据源并将其链接到 MongoDB 存储库。
通过从 @ 切换987654323@ 到 JpaRepository 并相应地更改 application.properties 文件,我已经能够从 MongoDB 传递到 PostgreSQL,反之亦然,但基本上一次只有一个活动数据源。
应用程序。使用 MongoDB 时的属性
spring.data.mongodb.port=27017
spring.data.mongodb.uri=mongodb://localhost/
spring.data.mongodb.database=myMongoDB_DB
spring.data.mongodb.repositories.enabled=true
使用 PostgreSQL 时的 application.properties
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/myPostgreSQL_DB
spring.datasource.username=me
spring.datasource.password=mySuperSecretPassword
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
有没有办法配置 Spring(使用 Annotation-only 方式)将两个数据源链接到同一个存储库,这样当我通过 HTTP 访问我的 REST Web 服务时,MongoDB 和 PostgreSQL 都是以完全相同的方式更改?
我搜索了一下,发现了一些关于 Spring 跨存储支持 (http://docs.spring.io/spring-data/mongodb/docs/1.5.5.RELEASE/reference/html/mongo.cross.store.html) 但它使用 xml 进行应用程序配置和 AspectJ,有没有更简单的方法来实现这一点?
【问题讨论】:
标签: spring mongodb postgresql