Spring Data Mongo для преобразования Joda LocaDateTime - PullRequest
0 голосов
/ 25 января 2012

Я использую Joda LocalDateTime, и поведение по умолчанию при конвертации в Mongo BSON закончилось примерно так:

"myTime":{
   "iLocalMillis":1327144433115,
   "iChronology":{
      "_class":"org.joda.time.chrono.ISOChronology",
      "iBase":{
         "_class":"org.joda.time.chrono.GregorianChronology",
         "iMinDaysInFirstWeek":4
      }
   }
}

Это будет иметь проблему при преобразовании обратно в объекты Java.

Как изменить поведение для определенных типов Java при сохранении в Mongo?так как у меня есть несколько других классов, у которых та же проблема с преобразованием по умолчанию.

Я использую Spring 3.1 + data + mongo stack.

Ответы [ 3 ]

1 голос
/ 20 марта 2012

У меня та же проблема.Чтобы использовать конвертерное решение Оливера, я должен создать конвертер для каждого класса, который имеет атрибут jodatime, который немного раздражает.Я не могу найти, как настроить конвертер для определенного типа для всех классов домена.Я заканчиваю с созданием подкласса AbstractMongoEventListener, затем сбрасываю поле даты и времени перед сохранением и после загрузки.Надеюсь это поможет.

1 голос
/ 25 января 2012

Использование пользовательских преобразователей описано в справочной документации .

0 голосов
/ 04 декабря 2014

Как отметил Оливер, используйте специальные конвертеры. Не упустите ошибку, описанную в DATAMONGO-1026 . В этом выпуске также есть примеры пользовательских конвертеров, и, надеюсь, скоро он будет закрыт.

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