Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与Couchbase中引用文档的关系_Java_Relationship_Spring Data Couchbase - Fatal编程技术网

Java 与Couchbase中引用文档的关系

Java 与Couchbase中引用文档的关系,java,relationship,spring-data-couchbase,Java,Relationship,Spring Data Couchbase,我正在使用Couchbase 4.0.0和Spring数据Couchbase 1.3.2,并希望使用引用文档而不是嵌入文档来持久化关系。 例如,文档如下所示: { title: "Some Title", pages: 123, publisher: { name: "O'Reilly Media", location: "CA" } } 但我想要这样的文件: { _id: "oreilly

我正在使用Couchbase 4.0.0和Spring数据Couchbase 1.3.2,并希望使用引用文档而不是嵌入文档来持久化关系。 例如,文档如下所示:

{
   title: "Some Title",
   pages: 123,
   publisher: {
              name: "O'Reilly Media",
              location: "CA"
            }
}
但我想要这样的文件:

{
   _id: "oreilly",
   name: "O'Reilly Media",
   location: "CA"
}

{
   _id: 123456789,
   title: "Some Title",
   pages: 123,
   publisher_id: "oreilly"
}

我有两个不同的类来表示数据,我使用注释
@Document
@Field
。我已经尝试了注释
@ManyToOne
,但没有成功。

目前在Spring Data Couchbase中不支持
@ManyToOne
类型文档关系。非常重要的是,此注释是由JPA提供的,而不是Spring数据本身的一部分(不是所有支持Spring数据的存储中的常见内容)

请注意,
1.3.2
是一个非常旧的版本,从那时起,Spring Data Couchbase connector几乎完全在
2.0.0
中重写(而
2.1.0
即将推出)

在这个2.0.0版本中,SpringDataCouchbase功能有了一些重大的升级,将子对象存储为单独的文档的想法作为一个想法被抛了出去。它可以在未来的版本中实现,但没有明确的路线图。
编辑:如果添加了该功能,至少在2.2.0版之前不会出现。嗨,西蒙,谢谢你的帮助。考虑到我的文档已经存储在couchbase中,您知道如何告诉Spring子对象在读取操作中是在分开的文档中吗?不幸的是,我不知道,但我仍然有疑问。如果我有一个循环引用,会发生什么?Spring将递归地嵌入子对象?目前是否有添加此功能的方案?我也在寻找这样的功能。我正在使用SpringDataCouchbase 3.1.3,这个版本上添加了这些功能吗??