【发布时间】:2016-12-08 00:11:10
【问题描述】:
我有一个 MongoRepository 类
public interface UserRepository extends MongoRepository<User, Long> {
User findById(Long id);
}
我的实体 pojo 看起来像这样
@Document(collection = "user")
class User {
Long id;
String name;
Department department;
…
}
当我调用 findBy 方法时,会返回一个 User 对象。我想知道 Spring Data MongoDB 如何将 DBObject 转换为 Java 对象。我的印象是 Spring Data MongoDB 在底层使用某种映射器(Jackson?),它会根据类中的字段名称或 @Field Annotation 调用 java(Entity) 类的 setters/constructors 方法。但令我惊讶的是,setter 从未被调用过。仅调用默认构造函数。
那么字段是如何设置的呢?我问的原因是如果设置器被调用,它会给我一个选项来设置其他一些字段。
谢谢
【问题讨论】:
-
是否有将日期保存为字符串的具体原因?
-
您好,感谢您的回复。这是我正在读取的一些外部数据库。我无法控制它。 :)
标签: mongodb spring-data spring-data-mongodb