Spring Data Elasticsearch 4 - 覆盖对象映射器?

Spring Data Elasticsearch 4 - Override Object Mapper?

以前在 Spring Data Elasticsearch 的第 3 版中,默认使用 Jackson 映射器,但可以覆盖使用 Metamodel 对象映射器,如下所述:

https://docs.spring.io/spring-data/elasticsearch/docs/3.2.0.RC1/reference/html/#elasticsearch.mapping.meta-model

我知道 Jackson 映射器已在版本 4 中删除并替换为元模型对象映射器,如此处记录:

https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.mapping

但覆盖对象映射器的功能似乎也被删除了。是否真的没有办法配置 Elasticsearch 全局对象映射器以再次使用 Jackson(或任何其他映射器)?失去该选项提供的灵活性似乎是一种耻辱。

没有。 MappingConverter 不仅用于和需要将实体与 JSON 相互转换,而且还用于转换和映射字段名、日期格式和其他内容,例如在创建 CriteriaQuery 时或搜索结果如高亮显示时被处理。 Spring Data Elasticsearch 中有许多地方需要实体的映射信息,而 Jackson 不能在那里使用。

所以在 4.0 之前的版本中,有必要在实体上使用 jackson-annotations 和其他具有不同注释的东西来自定义 Jackson,这已被合并。

您需要哪些 MappingConverter(元模型映射器的实现)无法与自定义转换器结合使用的功能?

编辑 2020 年 12 月 5 日

评论中的有效观点:应该可以为实体定义 FieldNamingStrategy。我创建了 an issue for that.