我正在使用Joda LocalDateTime
,转换为Mongo BSON的默认行为以这样的结尾:
"myTime":{
"iLocalMillis":1327144433115,
"iChronology":{
"_class":"org.joda.time.chrono.ISOChronology",
"iBase":{
"_class":"org.joda.time.chrono.GregorianChronology",
"iMinDaysInFirstWeek":4
}
}
}
转换回java对象时会出现问题。
如何在保存到Mongo时更改某些Java类型的行为?因为我有其他几个类与默认转换有相同的问题。
我正在使用spring 3.1 + data + mongo stack。
答案 0 :(得分:1)
自定义转换器的使用记录在the reference documentation。
中答案 1 :(得分:1)
我遇到了同样的问题。要使用Oliver的转换器解决方案,我必须为每个类创建转换器具有jodatime属性,这有点烦人。我找不到如何为特定类型的所有域类配置转换器。我最终创建了AbstractMongoEventListener的子类,然后在保存之前和加载之后重置datetime字段。希望这可以帮助。
答案 2 :(得分:0)
正如奥利弗指出的那样,使用自定义转换器。注意DATAMONGO-1026中描述的大事。该问题还有自定义转换器的示例,并且有望很快关闭。