Contexto de Ejecución y Resolver
Describe cómo MongoTemplateResolver selecciona MongoExecutionContext por clave y cómo DriverMongoExecutionContext proporciona límites de base de datos, sesión y mapeo.
Contrato de 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를 전달합니다.
Nomenclatura de Colección
Si el nombre de la colección está completamente fijado durante la vida de la aplicación, se puede usar DriverMongoExecutionContext.cachedCollectionNameResolver(...). No se utiliza un helper de caché para resolvers cuyo nombre cambia según tenant/request/time.
Alcance de sesión y transacción
ClientSession creado en getTxJob(...) se propaga solo a la misma ejecución de DSL a través de MongoExecutionContext#getSessionScope(). DriverMongoExecutionContext utiliza por defecto su propio MongoClient como alcance de sesión.