与Couchbase中引用文档的关系

时间:2016-03-29 13:52:39

标签: java relationship spring-data-couchbase

我正在使用带有Spring Data Couchbase 1.3.2的Couchbase 4.0.0,并希望使用引用文档而不是嵌入式文件来保持关系。 例如,文档如下:

{
   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,但它没有用。

1 个答案:

答案 0 :(得分:2)

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

请注意,1.3.2是一个相当旧的版本,从那时起,Spring Data Couchbase连接器几乎完全被2.0.0重写(而2.1.0就在附近)。< / p>

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