[英]Spring Data Mongo Linked Document Storage
Spring Data Mongo 是否有一种模式支持将链接持久化到单独集合中的单独文档,并在它从数据库中撤出时自动重新水合?
@Document
class Person <-- Saves to the Person Collection
@id
UUID id
String name
Address address
@Document
class Address --
@id
UUID id
String address1
...
调用save(person)
我希望数据库中的地址属性反映地址 ID,并将地址对象保存到地址集合中。 当我把 Person 拉回来时,Address 将是一个完全水合的(或者可能是懒惰的?)并且可以访问。
在编写 Spring Data MongoDB 3.2 时,仅支持通过DBRefs链接文档。 然而,那些遵循固定结构,因此表示目标文档中链接的值如下所示
{ "$ref" : <value>, "$id" : <value>, "$db" : <value> }
@DBRef
允许通过其lazy
属性进行延迟加载。 请查看参考文档
即将发布的Spring Data MongoDB 3.3版本将扩展对链接文档的支持以涵盖上述用例。 链接的文档仍然需要自己持久化。 @DocumentReference
允许通过id
属性链接Address
,如下所述。
@Document
class Person {
@Id
String id;
@DocumentReference
Address address;
}
{
"_id" : "p1457",
"name" : "...",
"address" : "a4711"
}
@DocumentReference
还将支持延迟加载并可用于链接文档集合。 请在此处找到完整的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.