簡體   English   中英

Spring 數據 Elasticsearch 4 - 覆蓋 Object 映射器?

[英]Spring Data Elasticsearch 4 - Override Object Mapper?

Previously in version 3 of Spring Data Elasticsearch, the Jackson mapper was used by default, but could be overridden to use the Metamodel object mapper, as documented here:

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

我了解 Jackson 映射器已在版本 4 中刪除,並替換為 Metamodel object 映射器,如此處所述:

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

但似乎也刪除了覆蓋 object 映射器的能力。 確實沒有辦法再次配置 Elasticsearch 全局 object 映射器以使用 Jackson (或任何其他映射器)? 失去該選項提供的靈活性似乎是一種恥辱。

不可以。 MappingConverter 不僅用於和需要將實體與 JSON 相互轉換,而且還用於轉換和映射字段名、日期格式和其他內容,例如在創建CriteriaQuery或處理高亮等搜索結果時。 Spring 數據 Elasticsearch 中有一些地方需要實體的映射信息,而 Jackson 不能在那里使用。

因此,在 4.0 之前的版本中,有必要在實體上使用 jackson-annotations 自定義 Jackson 以及具有不同注釋的其他內容,這已被合並。

您需要哪些 MappingConverter(元 model 映射器的實現)不與自定義轉換器結合提供的功能?

編輯 05.12.2020

評論中的有效觀點:應該可以為實體定義 FieldNamingStrategy。 為此創建了一個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM