我见过很多代码以以下方式为mongodb定义域对象:
带有空白@文档注解:
@Document
class Customer {
int id;
String name;
}
没有 @Document
注解:
class Customer {
int id;
String name;
}
使用集合名称:
@Document(collection = "cust")
class Customer {
int id;
String name;
}
我能理解最后两个,但你为什么只想保留 @Document
注解?
1条答案
按热度按时间xytpbqjk1#
spring文档说明:
7.3. 基于元数据的Map
要充分利用SpringData/mongodb支持中的对象Map功能,您应该使用@org.springframework.data.mongodb.core.mapping.document注解对Map的对象进行注解。尽管Map框架不需要有此注解(即使没有任何注解,pojo也会被正确Map),但它允许类路径扫描程序查找并预处理域对象以提取必要的元数据。如果不使用此注解,则应用程序在第一次存储域对象时会受到轻微的性能影响,因为Map框架需要构建其内部元数据模型,以便它了解域对象的属性以及如何持久化它们。
https://docs.spring.io/spring-data/data-document/docs/current/reference/html/