5

我一直在阅读MongoDB文档并默认为存储的数据Spring添加一个_class字段。有没有办法使用这些信息进行类型推断

例如:有一个抽象类Animal,它有三个子类Dog、Cat、Bird。假设您有一个包含动物列表的 Zoo 类。在数据库中存储这些 Zoo 对象。是否有任何功能可以让List<Animal>可以向上转换的动物回归?

我正在使用Spring,所以我更喜欢有一个可以使用spring-data-mongodb. 但是外部映射库也可以。我不想自己写它,因为它似乎是基本的映射功能。

4

1 回答 1

4

确保将您提到的所有类型映射为存储在同一个集合中(例如使用@Document 注释)。然后,您可以简单地对将 Animal 中的集合交给 MongoTemplate 上的相应方法执行查询。然后,底层转换器将根据 _class 中存储的信息自动实例化正确的类型。这同样适用于 Spring Data MongoDB 存储库的使用。

于 2013-08-29T23:04:30.227 回答