问题标签 [r2dbc]

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 回答
1161 浏览

r2dbc - 批量插入支持

我尝试使用 r2dbc 执行批量插入。

我已经从 Spring Boot 中看到 DatabaseClient ,这还不可能。我尝试使用 R2DBC SPIStatementand方法来做到这一点,如下所示:

我在日志上看到两个插入请求已完成。

add执行批量更新还是只运行两个请求?

谢谢。

0 投票
0 回答
792 浏览

kotlin - Spring Data R2DBC 持久化嵌套属性

我有一个List<Order>(或者Flux<Order>如果我想要的话)每个Order元素都有一个List<Item>. 我想使用spring-data-r2dbc(因此ReactiveCrudRepository)和spring-webflux. 这两个表都有外键约束,所以Order必须在其s之前插入 an。Item

事务处理是另一个主题,超出了这个问题的范围。应用程序该部分的返回类型应该是 a Flux<Order>,因为它将是 REST 响应的返回值。

问题是如何“组合” aMono<Order>和它的Flux<Item>.

我已经研究过压缩,但我无法让它工作(见下面注释掉的代码)。此外,我很确定拉链不是正确的事情,因为我一侧有一个,另一侧有n。我也试过.doOnSuccess了,但这也导致Flux<Item>没有终端操作。

SomeService.kt

订单.kt

项目.kt

0 投票
3 回答
9371 浏览

java - 保存新对象时反应性存储库抛出异常

我正在使用r2dbcr2dbc-h2实验spring-boot-starter-data-r2dbc

我创建了响应式存储库

还添加了一个自定义脚本,在启动时在 H2 中创建一个表

我的r2dbc配置看起来像这样

我执行逻辑的服务如下所示

域看起来像这样

问题是,当我尝试将任何对象添加到数据库时,它会失败并出现异常

由于某种原因,saveSimpleR2dbcRepository库类中它不认为objectToSave是新的,但是它无法更新,因为它实际上不存在。

为什么会发生,问题是什么?

0 投票
0 回答
2887 浏览

spring-boot - Application.properties 和 r2dbc

我将 spring boot 2.2 与 spring cloud Hoxton.SR1 一起使用。

我的数据库没有任何配置类。我只有一个 application.properties 来设置数据库。

在我的 application.properties 中,我有

当我开始申请时,

我有这个完整的堆栈 https://pastebin.com/1714kMW2

在 build.gradle

0 投票
2 回答
2264 浏览

spring-boot - 使用 inMemory 数据库时的 R2dbc H2 问题

我试图品尝 R2dbc 并使用 Embedded H2,例如:

我定义了一个 bean 来创建表和初始化数据。

而且我还定义了另一个组件来通过java代码设置数据。

如果我.inMemory("testdb")ConnectionFactorybean定义中使用,当SpringApplicationContext初始化时,它会失败,因为初始化时找不到表POSTSDataInitializer。从启动日志开始,ConnectionFactoryInitializer初始化成功,并通过执行 schema.sql 和 data.sql 创建表POSTS并按预期插入数据。

但是切换到使用.file("./testdb"),它起作用了。

完整的代码在这里

0 投票
1 回答
594 浏览

spring - how to get prometheus webflux r2dbc in spring work together? It gives me error when I try to run actual apis from service

I am generating metrics using prometheus in spring-boot2 and I am using webflux and r2dbc lib for reactive programming, however I am not sure if these works together. Please help me to understand what i am doing wrong.

It gives following error

My build.gradle looks like this:

Controller function look like this:

0 投票
0 回答
184 浏览

sql-server - r2dbc-mssql generatedKey 返回类型 numeric

示例堆栈:Spring Data R2dbc 1.0.0.RELEASE、R2dbc Mssql 0.8,完整代码在这里

初始化脚本:

保存数据并从中获取生成的密钥时DataInitializer

如果我在行中使用IntegerorLong而不是,它将引发错误,指示无法解码类型 [java.lang.Long] 的值,名称 [GENERATED_KEYS] 服务器类型 [numeric],它不是架构脚本中定义的,我必须使用 a才能使其工作。BigDecimal.map((r, m) -> r.get( 0, BigDecimal.class)).all()bigintBigDecimal

0 投票
1 回答
4067 浏览

java - 使用 Spring Data R2DBC 获取嵌套对象

我是 Project Reactor 和 R2DBC 的新手。如何正确使用 Spring Data R2DBC 响应式存储库接收和Flux<Child>合并?Mono<Parent>

家长:

父存储库:

孩子:

子库:

ParentPersistenceAdapter:

我的解决方案是:

0 投票
1 回答
5785 浏览

postgresql - 如何在以前使用 JPA 的项目中使用 R2DBC 实现 OneToMany、ManyToOne 和 ManyToMany?

我必须重新实现一些后端服务,主要要求之一是使整个流程具有反应性。以前,服务使用 PostgreSQL 的休眠,所以提到的连接是由框架提供的。

由于我必须保留原始数据库并仅更改服务实现,因此我必须使用 r2dbc-postgresql。我找不到关于这个主题的任何资源,但我最好的猜测是做一些类似于我对 JDBC 所做的事情,并在我的实体之间引入一些新的连接表。

  1. 这是一个正确的方法还是我应该考虑一些不同的解决方案?
  2. 实现上述连接的步骤是什么?
0 投票
1 回答
2928 浏览

postgresql - R2DBC 和枚举 (PostgreSQL)

2020 年 8 月 15 日更新:看起来Enum支持是在 6 月 16 日添加的。R2DBC 提交

H2DBC 是否支持 PostgreSQL 枚举?我检查了他们的git 页面,但没有提及任何内容。如果是这样,如何使用枚举(INSERT,SELECT)?
让我们说 PostgreSQL 枚举

Java 类

我试过了:

但我收到错误消息:

我发现了类似的帖子,但没有运气解决我的问题..也许我应用错了..
欢迎任何帮助或提示。