对于Java枚举类型,我了解到MongoDB有两种解决方案:serialization和using Jackson’s ObjectMapper。 MongoRepository可以使用这些方法中的任何一种使用枚举数据类型,还是必须编写自定义存储库?
答案 0 :(得分:10)
是的,Spring Data MongoDB支持枚举。只需在您的域模型中使用它们。
答案 1 :(得分:3)
Spring Data Mongodb可以使用enum的名称作为值将枚举序列化为字符串。让我们说,它使用文章http://www.vineetmanohar.com/2010/01/3-ways-to-serialize-java-enums/中的第二种方法。恕我直言这不能被认真对待,因为在数据库中存储枚举的唯一正确方法是来自同一篇文章的方法#3,让我引用它:“这种方法涉及为每个枚举常量分配一个明确的用户定义值并在枚举上定义一个toValue()和fromValue()方法来进行序列化和反序列化。“因此,Spring Data Mongodb不支持枚举。