是否可以将 Spring Data Couchbase 映射到外部文档(来自依赖项)?

Is it possible to map Spring Data Couchbase with external document (from dependency)?

我需要从没有特定模式的旧版 Couchbase 存储桶中检索数据。它可以从 Couchbase Java 客户端映射为 com.couchbase.client.java.document.StringDocument。我可以直接使用 Java client:

bucket.get(key, StringDocument.class)

但是我如何使用 org.springframework.data.repository.CrudRepository 映射此 StringDocument

我无法创建这样的界面 interface UserRepository extends CrudRepository<StringDocument, String> 因为 Spring Data Couchbase 需要 @Document 和 @Id 注释。

All entities should be annotated with the @Document annotation. Also, every field in the entity should be annotated with the @Field annotation. While this is - strictly speaking - optional, it helps to reduce edge cases and clearly shows the intent and design of the entity.

There is also a special @Id annotation which needs to be always in place. Best practice is to also name the property id.

是直接使用Bucket,自己创建类似的实体,还是有别的解决方案?

我使用以下版本的 spring-boot-starter-data-couchbase:1.5.9.RELEASE.

如果它只是一个 StringDocument(并且它甚至没有被 spring-data-couchbase 开始保存.. 它注入 _class 属性用于反序列化目的)那么我会只需使用桶来检索它。

请记住,如果您的存储库(我说的是您定义的映射到 StringDocument 所在的同一存储桶的任何其他存储库)定义为 CouchbaseRepository,您将能够访问像这样 repository.getCouchbaseOperations().getCouchbaseBucket() 从存储库方法中存储本身。或者您可以尝试以下 repository.getCouchbaseOperations().findById("id", StringDocument.class).