Използването на няколко модула Spring Data в един проект е възможно, но изисква внимание относно настройването на нещата.
Наличието на повече от един модул Spring Data в пътя на класа позволява строга конфигурация, която е необходима на Spring Data, за да разграничи отговорността за хранилище. Това се прави главно чрез анотации и дали определено хранилище се вписва в йерархията на типа. Във вашия случай Goal
е анотиран с анотации на MongoDB и Elasticsearch, така че и двата модула изпитват желание да внедрят хранилища.
Единственият начин досега е да съхранявате хранилища в различни пакети и да използвате тези пакети като основни пакети в @Enable…Repositories
. Ако приемем, че вашите хранилища на Elasticsearch се намират в org.jhipster.elasticsearch.repository
конфигурацията на вашето приложение може да изглежда така:
@EnableMongoRepositories("org.jhipster.mongo.repository")
@EnableElasticsearchRepositories("org.jhipster.elasticsearch.repository")
@SpringBootApplication
public class SpringBootApplication { … }
HTH, Марк