1

我将 Couchbase 4.0.0 与 Spring Data 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"
}

我有 2 个不同的类来表示数据,我正在使用注释@Document@Field. 我已经尝试了注释@ManyToOne,但它没有用。

4

1 回答 1

2

Spring Data Couchbase目前不支持@ManyToOne类型文档关系。非常重要的是,这个注解是由 Spring Data 本身提供的,JPA而不是 Spring Data 本身的一部分(这在所有支持 Spring Data 的商店中并不常见)。

请注意,这1.3.2是一个相当旧的版本,并且 Spring Data Couchbase 连接器从那时起几乎完全被重写2.0.0(并且2.1.0指日可待)。

在这个 2.0.0 版本中,对 Spring Data Couchbase 功能进行了一些重大升级,并且将子对象存储为单独的文档的想法作为一种想法被抛出。它可以在未来的版本中实现,但没有明确的路线图。编辑:如果该功能被添加,它不会在至少版本 2.2.0 之前

于 2016-03-29T16:29:03.013 回答