To je obvykle způsobeno tím, že metadata mapování Mongo získaná pro entity neskenují entity při spuštění aplikace. Ve výchozím nastavení AbstractMongoConfiguration
používá balíček skutečné konfigurační třídy k vyhledání @Document
anotované třídy při spuštění.
Zpráva o výjimce mě nutí předpokládat, že SpringCloudMongoDBConfiguration
se nenachází v žádném ze super balíčků com.foo.model.project
. Existují dvě řešení:
- Držte se pohodlí vkládání tříd konfigurace aplikace do kořenového balíčku vaší aplikace. To způsobí, že vaše balíčky aplikací budou skenovány na třídy domén, získaná metadata a detekce is-new-funguje podle očekávání.
- Ručně předejte balíček obsahující třídy domén do infrastruktury přepsáním
MongoConfiguration.getMappingBasePackage()
.
Důvod, proč můžete vidět, že konfigurace funguje v místním prostředí, je ten, že metadata mapování mohou být získána prostřednictvím neperzistentní operace perzistence (např. dotazu) a vše ostatní odtud pokračuje.