问题标签 [spring-data-couchbase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
707 浏览

couchbase - Spring Data Couchbase findAll 速度

我将大约 900 个文档添加到两种类型 ( Country and Rate) 的沙发库中,然后尝试通过扩展CrudRepository和使用来检索一种类型 CountryfindAll

.

我按照要求创建了所有视图,但结果大约需要 10 秒,这是否正常,请注意,当我在 RateRepository 中使用其他方法时,它们的速度非常快。

我还为 Rate 中的顶部字段创建了主索引和 GSI。

如何检查速度问题是否与 couchbase 或 spring-data 相关?

0 投票
2 回答
2026 浏览

java - MappingInstantiationException 与 Spring Data Couchbase 中的 BigInteger 字段

我有一个类型为字段的实体java.math.BigInteger

使用 Spring Data JPA 将实体存储在数据库中没有任何问题;但是当我检索实体时,出现以下异常

org.springframework.data.mapping.model.MappingInstantiationException:无法使用带参数的构造函数 NO_CONSTRUCTOR 实例化 java.math.BigInteger

BigInteger没有无参数构造函数。那是问题吗?有没有办法解决这个问题?

我正在使用spring data couchbase,完整的堆栈跟踪如下

org.springframework.data.mapping.model.MappingInstantiationException:无法使用构造函数 NO_CONSTRUCTOR 实例化 java.math.BigInteger,其参数位于 org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:64) 在 org.springframework.data .convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:203) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.readValue(MappingCouchbaseConverter.java:725) 上的 .read(MappingCouchbaseConverter.java:185)。couchbase.core.convert.MappingCouchbaseConverter.access $200(MappingCouchbaseConverter.java:65) at org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter$CouchbasePropertyValueProvider.getPropertyValue(MappingCouchbaseConverter.java:78 at org.springframework.data.couchbase。 core.convert.MappingCouchbaseConverter.getValueInternal(MappingCouchbaseConverter.java:243) at org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter$1.doWithPersistentProperty(MappingCouchbaseConverter.java:212) at org.springframework.data.couchbase.core.convert .MappingCouchbaseConverter$1.doWithPersistentProperty(MappingCouchbaseConverter.java:206) 在 org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:310) 在 org.springframework。data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:206) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 在 org.springframework.data.couchbase。 core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:140) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:65) 在 org.springframework.data.couchbase.core.CouchbaseTemplate。 mapToEntity(CouchbaseTemplate.java:606) at org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) at org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java: 104)convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:206) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter。在 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java: 606) 在 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:206) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter。在 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java: 606) 在 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 处读取(MappingCouchbaseConverter.java:206) java:140) at org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:65) at org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java:606) at org .springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) at org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 处读取(MappingCouchbaseConverter.java:206) java:140) at org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:65) at org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java:606) at org .springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) at org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:140) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter。在 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) 的 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java:606) 处读取(MappingCouchbaseConverter.java:65)在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:185) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter.read(MappingCouchbaseConverter.java:140) 在 org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter。在 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298) 的 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java:606) 处读取(MappingCouchbaseConverter.java:65)在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)在 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java: 606) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104) 的 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298)在 org.springframework.data.couchbase.core.CouchbaseTemplate.mapToEntity(CouchbaseTemplate.java: 606) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104) 的 org.springframework.data.couchbase.core.CouchbaseTemplate.findById(CouchbaseTemplate.java:298)findById(CouchbaseTemplate.java:298) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)findById(CouchbaseTemplate.java:298) 在 org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.findOne(SimpleCouchbaseRepository.java:104)

0 投票
1 回答
1065 浏览

java - 带有 Spring Data Couchbase 的 OffsetDateTime

我正在使用 Spring Data Couchbase 创建一个 POC,并在新的 Java 8 DateTime 库中遇到了一个小问题。我希望使用 ISO-8601 日期保存和阅读我的内容。我正在使用 OffsetDateTime 来捕获带有时区偏移的完整时间戳。保存文档时我没有问题。但是,当从数据库中读取它时,我会收到一个映射异常。我也在使用 JSR-310 依赖项来配置杰克逊解析。

使用 OffsetDateTime 是正确的方法吗?我应该退回并只使用 Joda DateTime 吗?

POM 依赖项:

文档 Java 类:

应用 YML:

保存时(无问题):

读取时(例外):

0 投票
2 回答
171 浏览

spring - Spring Data Rest 对 couchbase 的支持?

我很难确定 Spring Data Rest 是否计划获得对 Spring Data Couchbase 的支持。似乎还没有支持。有什么办法可以确认是否有人在做这个?

0 投票
2 回答
1429 浏览

spring - SpringBoot Couchbase 集成

我想使用 QueryDslPredicateExecutor 接口创建我的 UserTask 实体的可过滤列表,因此查询字符串中给出的参数将被自动处理为谓词。

我有以下类/接口

UserTask 是代表(couchbase)模型的我的类

如果我用 @QueryEntity 注释这个类,那么 Maven 会为我生成 QUserTask 类

为了生成 QUserTask,我在 pom.xml 中添加了以下几行

在项目中,我们同时拥有 JPA 实体和 couchbase 实体,这就是为什么我在那里有 JPAAnnotationProcessor 的原因。

如果我像这样运行应用程序,我会收到以下错误:

org.springframework.data.mapping.PropertyReferenceException:找不到类型 UserTask 的属性 findAll!

我尝试用@NoRepositoryBean 注释我的UserTaskQuerydslRepository,它解决了我的findAll 问题,但是当我尝试将此存储库@Inject 到资源(或控制器,JHipster 将其称为资源)时,我收到以下错误

没有为依赖项找到 [.UserTaskQuerydslRepository] ​​类型的合格 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@javax.inject.Inject()}

谁能帮助我我做错了什么?

0 投票
2 回答
954 浏览

java - 如何让 Spring Data Couchbase 持久化 id 字段?

我刚刚开始使用 CouchBase 4.5 和 Spring Data CouchBase 的新项目。我有一个看起来像这样的实体:

当我使用 CouchBase CrudRepository 保存它时,它在数据库中的结果是这样的:

一切似乎都很好,除了“关键”字段没有保留在文档中。我在有和没有 @Field 注释的情况下都试过了,但结果是一样的。有什么方法可以确保 @Id 字段持久保存到数据库中?

0 投票
1 回答
4266 浏览

java - 使用 Couchbase 进行单元和集成测试

我最近设置了一个使用 Spring-Data-Couchbase 的新项目,我完全不知道应该如何在这里进行单元和集成测试。

通常使用 JPA,我可以以某种方式模拟我的存储库(假设这对于带有 Spring 的 couchbase 类似),这对于单元测试来说是可以的,但对于 JPA,我通常会连接一个内存数据库并拥有一个完整的集成测试套件。有没有办法用沙发底座做到这一点?

另外,如果您不介意在这里提及任何提示,因为这是我的第一个主要 NoSQL 项目 :) 谢谢!

0 投票
1 回答
181 浏览

java - 使用 spring-data 重新定义存储库中的方法

我正在使用spring-data-couchbase 2.1.2,我想将方法​​添加到单个存储库。在实现类中:

我添加了RepositoryOperationsMapping但对象没有注入,我有以下错误:

对于我使用文件的spring配置spring.xml,如何在xml文件中添加RepositoryOperationsMapping参考?

谢谢。再见。

0 投票
1 回答
404 浏览

java - Spring数据自定义N1QL查询返回属性文档为null

我正在使用spring-data-couchbase 2.1.2,我用自定义查询重新定义了一个存储库:

template.findByN1QL(query, PortfolioDocument.class);返回一些PortfolioDocument除了 id 属性之外的所有属性为 null。如果我调用template.findByOne(id);生成的对象就可以了。你能帮我吗?

0 投票
1 回答
3474 浏览

n1ql - 如何使用带有spring-data-couchbase的n1ql从文档中获取字段

这是存储库中运行良好的查询。

我想从 Player 文档中获取特定字段,如下所示:

是否可以这样做,我使用的是 spring-data-couchbase 2.1.2