org.springframework.data.mapping.PreferredConstructor$Parameter@2514e415没有名字! Spring Data Mongo转换器

问题描述

我的Mongo集合中有这个json(作为主对象的字段):

"dateOfBirth" : {
        "year" : 1953,"month" : 4,"day" : 26
    }

我有这个java类用于映射:

@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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...