问题描述
@Field(type = FieldType.nested,includeInParent = true,format = DateFormat.date)
private List<LocalDate> birthdates = new ArrayList<>();
使用spring数据映射此错误而又不会出现此错误的正确方法是什么。 找不到能将[java.lang.Long]类型转换为[java.time.LocalDate]类型的转换器
我真的需要创建一个自定义转换器吗?或包装对象? 我认为这是开箱即用的支持。
谢谢。
解决方法
注释此属性的正确方法应该是
@Field(type = FieldType.Date,format = DateFormat.date)
private List<LocalDate> birthdates = new ArrayList<>();
这会将映射项写为date
类型,格式为date
,并且可以存储和搜索数组。
坏消息是,当前版本的Spring Data Elasticsearch无法正确处理此问题。
好消息是,我刚刚为此实现了修复,它将包含在版本4.0.4.RELEASE和4.1.0.RC1中;两者都计划明天发布。
编辑:两个版本现已发布