为什么spring-data-elasticsearch不使用Spring上下文中的objectmapper

我正在开发一个使用spring-data-elasticsearch进行数据存储的应用程序。 我也使用kotlin编写这个应用程序。 这有一些特殊的怪癖,一个是杰克逊需要杰克逊模块kotlin(摆脱无参数构造的问题)。 我也使用jackson-datatype-jsr310模块。

Spring引导足够好,可以从类路径中选择这些模块并自动注册它们。 我还将write-dates-as-timestamps选项设置为false。 然而,spring-data-elasticsearch似乎对此并不在意。 我想这是因为DefaultEntityMapper消息一个对象映射器,并没有使用从春天上下文。 我想知道为什么? 我通过提供一些额外的配置来确定它,以确保spring-data-elasticsearch使用从spring上下文中获得的objectmapper:

@Configuration open class ElasticsearchConfig(val elasticsearchEntityMapper: ElasticsearchEntityMapper) { @Bean open fun elasticsearchTemplate(client: Client) = ElasticsearchTemplate(client, DefaultResultMapper(elasticsearchEntityMapper)) } @Component class ElasticsearchEntityMapper(val objectMapper: ObjectMapper) : EntityMapper { override fun mapToString(`object`: Any?) = objectMapper.writeValueAsString(`object`) override fun <T : Any?> mapToObject(source: String?, clazz: Class<T>?) = objectMapper.readValue(source, clazz) } 

有没有更好/更简单的方法来确保spring-data-elasticsearch使用上下文中的objectmapper?