带MongoDB的Spring数据1.0.0.m3。为什么spring可以映射这个类:

import org.springframework.data.document.mongodb.index.IndexDirection;
import org.springframework.data.document.mongodb.mapping.Document;

@Document
public class EnumsMapper {
  private IndexDirection d = IndexDirection.ASCENDING;
}

但这次失败了:
import org.springframework.data.document.mongodb.index.IndexDirection;
import org.springframework.data.document.mongodb.mapping.Document;
import java.util.List;
import java.util.Arrays;

@Document
public class EnumsMapper {
  List<IndexDirection> list_enum_test = Arrays.asList(
      new IndexDirection[] {IndexDirection.ASCENDING});

}

用一个:
java.lang.IllegalArgumentException: can't serialize class org.springframework.data.document.mongodb.index.IndexDirection

其他集合(集合,…)和数组也是如此。显然spring可以映射这个枚举,所以编写映射器并不能解决这个问题。这是一个bug还是有办法映射包含枚举的集合(set/map)?

最佳答案

你好像发现了一个虫子:)。这里是the bug,这里是the fix。部署到我们的maven repo的快照二进制文件。如果你还遗漏了什么东西,可以试着在票子上添加评论。

关于mongodb - 如何映射mongodb的spring-data中的枚举集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6779929/

10-16 14:24