问题描述
我的Mongo集合中有这个json(作为主对象的字段):
"dateOfBirth" : {
"year" : 1953,"month" : 4,"day" : 26
}
@Data
public class LocalDate {
private Integer year;
private Integer month;
private Integer day;
public LocalDate(Integer year,Integer month,Integer day) {
this.year = year;
this.month = month;
this.day = day;
}
public LocalDate() {
}
}
如果我使用此字段,则一切正常。 spring数据将JSON映射到我的LocalDate
@Field("dateOfBirth")
private com.my.LocalDate dateOfBirth;
但是我想将此字段用作java.time.LocalDate并创建转换器:
@ReadingConverter
public class MyLocalDatetoJavaLocalDateConverter implements Converter<LocalDate,java.time.LocalDate> {
@Override
public java.time.LocalDate convert(LocalDate localDate) {
return java.time.LocalDate.of(localDate.getYear(),localDate.getMonth(),localDate.getDay());
}
}
@WritingConverter
public class JavaLocalDatetoMyLocalDateConverter implements Converter<java.time.LocalDate,LocalDate> {
@Override
public LocalDate convert(java.time.LocalDate localDate) {
return new LocalDate(localDate.getYear(),localDate.getMonthValue(),localDate.getDayOfWeek().getValue());
}
}
和配置:
@Configuration
public class MongoConvertersConfig {
@Bean
public MongoCustomConversions mongoCustomConversions() {
return new MongoCustomConversions(
Arrays.asList(
new MyLocalDatetoJavaLocalDateConverter(),new JavaLocalDatetoMyLocalDateConverter()));
}
}
但是当我选择数据时,我得到一个例外:
org.springframework.data.mapping.MappingException: Parameter org.springframework.data.mapping.PreferredConstructor$Parameter@2514e415 does not have a name!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)