我的域对象中有这个字段
@Field
@Enumerated(EnumType.STRING)
private SectionType sectionType;
但是当我检查存储在 Solr 中的值时,它类似于:
com.x.y.objects.SectionType:H_HPI
我想要的只是 H_HPI 或者就好像我在调用 special.name() 方法
此外,我想要一个序列化程序,为我的域对象中的所有枚举字段执行此操作。
我知道,例如,neo4j 有这样一个序列化程序,可以作为注释提供给字段。 mongodb 也会自动进行转换。
最佳答案
我遇到了同样的问题,并从 Spring Data Solr 代码中发现了这个问题
else if (fieldValue instanceof Enum) {
field.setValue(this.getConversionService().convert(fieldValue, String.class), 1f);
}
它设置字符串值
https://github.com/spring-projects/spring-data-solr/commit/4bf0af3344ec9e92ac241eaa25883e73b08f3b0b
关于solrj - 序列化枚举字段 spring 数据 solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833157/