问题标签 [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 回答
622 浏览

java - 无注释弹簧数据解决方案

看起来现在每个人都使用注释来保存数据。

为什么这是个问题?
持久性注释特定于所选持久性 API。如果使用 MySQL,则使用 @Entity;如果使用 Couchbase,则必须使用 @Document。

在较大的项目中,通常有一个 API 层,用于对对象进行建模。该层具有或至少不应该具有对任何特定于数据库的任何依赖关系。

所以这里不能使用@Document。

数据库/持久层目前只有这个spring-data仓库

和配置类

我希望找到一个基于 XML 的配置示例,但什么也没有,到处都是注释。
我怎么解决这个问题?
是否有基于 XML 的对象映射方法?
如果没有,如何在不污染 API 层的情况下解决这个问题?

0 投票
0 回答
444 浏览

spring - Spring data couchbase / Spring boot:连接尝试失败时继续执行

我正在尝试找到一种方法来继续使用 spring-data-couchbase 启动 Spring Boot 应用程序,这将无法连接到配置中的集群设置。

不幸的是,这已被证明是不成功的,并且执行停止并出现以下异常:

我目前正在使用以下依赖项:

<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-couchbase</artifactId> <version>2.1.6.RELEASE</version> </dependency>

感谢你的帮助!

0 投票
2 回答
768 浏览

java - Couchbase 在 N1QL 参数化查询中使用了错误的索引

我在理解 couchbase 查询计划的工作方式方面存在问题。我将 SpringData 与 Couchbase 4.1 一起使用,并提供 Couchbase 存储库的自定义实现。在我的 Couchbase 存储库的自定义实现中,我有以下方法:

结果,Spring Data 向 Couchbase 生成以下 json 对象表示的查询:

当我通过 Java 和 N1QL Rest Api 或通过 cbq consol 执行它时,问题在于性能。为了在 cbq 中执行此查询,我只需将参数引用替换为精确值。

在 select 语句之前添加 EXPLAIN 子句后,我提到了不同的执行计划。通过 Java Spring Data 或 N1QL Rest Api 将此查询作为参数化查询执行我已经提到该查询不使用我专门为这种情况创建的索引。索引定义如下:

因此,当我通过 cbq consol 执行查询时,Couchbase 使用我的 idnex 并且查询性能非常好。但是,当我通过 N1QL rest api 或 Java 执行此查询时,我看到该查询不使用我的索引。您可以在下面找到证明这一事实的部分执行计划:

那么,问题在于,couchbase 查询优化器的权利和合法行为是什么?这是否意味着查询计划不考虑参数的实际值?并且我是否手动将值放入查询字符串或存在任何其他方式来使用具有正确索引选择的 N1Ql 参数化查询?

编辑

根据shashi raj的回答,我将 N1qlParams.build().adhoc(false) 参数添加到参数化的 N1QL 查询中。这并不能解决我的问题,因为我仍然有这个查询的性能问题。此外,当我打印查询时,我看到它与我之前描述的相同。因此,我的查询仍然错误分析并导致性能下降。

0 投票
1 回答
2017 浏览

java - Spring Data Couchbase 自定义存储库方法

大家好,我在使用 Spring Data Couchbase 上的 couchbase 模板添加简单的自定义查询时遇到问题。

存储库接口:

执行

模型

主要应用

堆栈跟踪

0 投票
1 回答
231 浏览

java - Spring-data-couchbase - 运行非临时参数化查询

是否有可能使用注释@Query 在关闭临时标志的情况下执行参数化 N1QL 查询?

即对于给定的查询:

如果不是,是否有任何其他方法可以强制 couchbase 在注释查询中使用二级索引(在此示例中为作者字段的索引)?

0 投票
2 回答
1080 浏览

spring-data - Spring Data Couchbase findById 总是返回 null

我是否完全走错了路?这应该工作吗?

我正在尝试构建一个基于布尔值限制选择的查询

例如findByIdAndFieldIsTrue(id)

这总是不返回任何值。如果我缩小这个范围,findById(id)我仍然没有得到看起来很奇怪的结果。我在方法名称中尝试了许多 Id 和字段的排列,但没有一个起作用。

我不假思索地尝试BaseRepository了 findOne 方法,但没有运气。

更新:

添加答案中建议的记录器后,我可以获得查询

0 投票
1 回答
118 浏览

spring-boot - 运行时 Couchbase 查询异常 键的不支持参数类型:类 com.couchbase.client.protocol.views.Query

每次我尝试从我的 Spring Boot 应用程序中查询 Couchbase DB 上的视图时,都会遇到此异常。不支持的键参数类型:com.couchbase.client.protocol.views.Query 类。

我在 Query 类的 setKey() 方法上设置了一个字符串,但出现异常。但后来我检查了 API 并提供了一个 json 给 setKey,仍然无法正常工作。进行了很多搜索,但无法使其正常工作。

我也在这篇文章中分享代码片段。

应用程序属性

播放器存储库

播放器.java

SpringBootApplication 类

@SpringBootApplication 公共类 CricketTeamSelectionMain {

}

播放器服务类

在 CouchBase DB 上查看 by_Name

0 投票
2 回答
1753 浏览

java - 如何通过 java API 创建 Couchbase 存储桶?

我正在使用 Spring 数据沙发库。

这是用于建立连接的配置类

关注应用程序属性文件

底线:我已经在 couchbase 中手动创建了存储桶(Dhxxxar)。但是我需要在运行我的 Spring Boot 应用程序时自动创建存储桶(数据库)。

所以给我任何建议都一样。提前致谢

0 投票
1 回答
611 浏览

spring-data - 如何使用 Spring Data 和 Couchbase 使用 Pageable 进行查询

我只是尝试使用 PageRequest 进行查询:

这是我的存储库

但总是得到一个空的 Page 对象。

我将 2.1.5.RELEASE 用于 spring-data-couchbase。我在这个较旧的问题中读到它尚未实现 - 但这是 2015 年,在Spring Data for Couchbase 文档中对其进行了详细描述。所以我想它现在应该可以工作了......

0 投票
2 回答
3572 浏览

spring - 使用 @WebMvcTest 时如何排除使用 Spring 的 AutoConfiguration 添加的类?

我想使用@WebMvcTest和模拟依赖项来测试我的控制器,但是 Spring Boot 的 AutoConfiguration 会自动加载我的 Couchbase (Spring Data) 配置。Couchbase 在某些运行测试的平台上不可用,因此 Test 类将抛出异常。如何从 AutoConfiguration 机制中排除某些类?

我尝试了并加载另一个应用程序上下文的excludeFilters选项,但这不起作用。@WebMvcTest@ActiveProfile

测试配置:

沙发底座配置: