2011-07-21 59 views
2

spring-data 1.0.0.M3 with MongoDB。爲什麼春天可以在這個類映射:如何在春天數據中爲MongoDB映射一組枚舉集合

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可以映射這個枚舉,所以編寫一個映射器並不能解決問題。這是一個錯誤還是有辦法映射一個集合(set/map)來保存枚舉?

回答

2

看來你發現了一個bug :)。這裏的the bug,這裏是the fix。快照二進制文件部署到我們的Maven回購。隨時嘗試一下,並在票上添加評論以防萬一你仍然遺漏了一些東西。

+1

鏈接被破壞... – slim