Spring MongoDB Сохранение Enum Keys Of Map в двойных кавычках - PullRequest
0 голосов
/ 18 октября 2018

У меня есть класс WebIntegration, в котором у меня есть поле "f", которое является Map [FeatureType, Feature].Обычные поля enum сохраняются правильно, но когда у меня есть ключ в качестве enum на карте, он сохраняется в двойных кавычках

Это код, который я использую:

SimpleMongoDbFactory simpleMongoDbFactory = new SimpleMongoDbFactory(mongoClient, "test_database");
MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoDbFactory);
Integration integration = //integration;
mongoTemplate.save(integration);

Документ сохраняется таким образом:

{
  "_id" : ObjectId("5bc5855b610be4b5e225f422"),
  "_class" : "com.demo.WebIntegration",
  "ttl" : "Elixir",
  "iT" : "web_integration",
  "f" : {
      ""page_feature"" : {
          "iGW" : false,
          "isSV" : false,
          "iFCT" : "page_feature",
          "e" : true,
          "_class" : "com.demo.WebIntegrationPageFeature"
      },
  "a" : true,
  "cTm" : NumberLong("1539686608262"),
  "uTm" : NumberLong("1539686608262"),
  "iD" : false
}

То же самое перечисление используется в поле "iFCT", которое сохраняется правильно, но ключ в поле "f" сохраняется в двойных кавычках.

Из-за этого во время выборки онпрерывается, потому что нет перечисления, такого как page_feature с кавычками.

Если я регистрирую пользовательские конвертеры, это работает отлично.Но я хотел знать, если нормальные поля сохранены правильно, то почему ключи карты не сохраняются должным образом, если они являются enum.

Я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...