Java、Spring 数据。列表映射类型的映射实体字段

标签 java mongodb spring-data

对于以下使用 Spring Data 和 Mongo DB 的实体映射:

@Document(collection = "candidates")
public class Candidate {
   private SortedMap<String, ? extends SortedMap<String, List<Expertise>>> expertises;
   ....
}

从数据库加载实体时,List< Expertise> 变为 List< LinkedHashMap>。如何指定列表中对象的正确类型?

最佳答案

这是我们类型解析算法中的一个错误。我们将外部映射的映射值类型解析为Object,这会删除所有进一步的泛型信息,因此不会将类型信息写入嵌套文档。这将导致在读取端仅创建Map

我已提交 DATACMNS-440为此和 fixed马上。该修复将过渡包含在下周初即将发布的错误修复版本 (Spring Data MongoDB 1.3.4) 中。

不过,我建议您为嵌套数据结构创建专用类型,因为客户端很难真正了解该结构实际​​代表什么。

关于Java、Spring 数据。列表映射类型的映射实体字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730299/

相关文章:

java - 如何在 Jlist 项目之间获得自定义空间?

java - 使用 readObject() 反序列化一个类,并将 "subsititute"调用它的实例与 readObject 返回的实例一起使用

node.js - Mongoose 种群如何运作

node.js - 如何不保存 Mongoose 中的某个字段?

spring-data - 如何使用spring-data-jdbc实现批量插入

spring-data - 在自定义 Controller 中镜像格式化 spring-data-rest/spring-hateoas

java - 查看 ExpectedConditions 类,尝试找到 onChange

mongodb 身份验证禁用和启用问题

spring - 从 Spring MVC Controller 调用存储库的问题

java - 创建一个类,开始使用OOP。 java程序不显示任何内容?