为什么对mongodb域对象使用空白@文档?

oaxa6hgo  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(494)

我见过很多代码以以下方式为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 注解?

xytpbqjk

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/

相关问题