Contexto de Execução & Resolver
Explica como o MongoTemplateResolver seleciona o MongoExecutionContext por chave e como o DriverMongoExecutionContext fornece limites de database, sessão e mapeamento.
Contrato do MongoTemplateResolver
MongoTemplateResolver.java
javaReactiveMongoDsl<K>는 key마다 MongoExecutionContext를 가져옵니다. MongoExecutionContext가 MongoDatabase, ClientSession, collection naming, entity ↔ Document mapping과 save lifecycle hook의 경계를 담당합니다.
DriverMongoExecutionContext
기본 collection 이름은 entity simple class name을 decapitalize해서 결정합니다. 프로젝트의 실제 naming 규칙이 다르면 생성자에 collection-name resolver를 전달합니다.
Nomeação de Coleção
Se o nome da coleção for completamente fixo durante a vida útil da aplicação, você pode usar DriverMongoExecutionContext.cachedCollectionNameResolver(...). Não use o helper de cache para resolutores cujo nome muda de acordo com tenant/request/time.
Escopo de Sessão e transação
O ClientSession criado em getTxJob(...) é propagado apenas para a mesma execução de DSL em MongoExecutionContext#getSessionScope(). O DriverMongoExecutionContext usa por padrão seu próprio MongoClient como escopo de sessão.