问题标签 [spring-data-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.
r2dbc - 批量插入支持
我尝试使用 r2dbc 执行批量插入。
我已经从 Spring Boot 中看到 DatabaseClient ,这还不可能。我尝试使用 R2DBC SPIStatement
和and
方法来做到这一点,如下所示:
我在日志上看到两个插入请求已完成。
是add
执行批量更新还是只运行两个请求?
谢谢。
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
postgresql - Spring Boot 2.2 中的 r2dbc-postgresql 0.8.0.RC1 无法正常工作
在我将 spring webflux (spring boot 2.2.0.m3 到 2.2.2.RELEASE )和 r2dbc (spring-data-r2dbc 1.0.0.M2 到 1.0.0.RELEASE )和 r2dbc-postgresql (1.0 .0.M7 到 0.8.0.M8) 项目我不断收到此错误
我的 pom.xml 在这里
我失败的业务逻辑就像上面
你能帮我找出为什么我会收到这个错误吗?
spring-boot - 在反应性 crud 存储库 @Query 方法中使用对象属性作为参数
尝试@Query
使用spring-data-r2dbc
.
FooCollection 查询:
是否有可能将整个PaymentCollectionQuery
对象提供给@Query
在查询中指定具体属性的注释?
现在我得到以下异常:
spring-boot - Application.properties 和 r2dbc
我将 spring boot 2.2 与 spring cloud Hoxton.SR1 一起使用。
我的数据库没有任何配置类。我只有一个 application.properties 来设置数据库。
在我的 application.properties 中,我有
当我开始申请时,
我有这个完整的堆栈 https://pastebin.com/1714kMW2
在 build.gradle
spring-boot - 我应该在基于控制器的 Spring Webflux 服务中使用 Flow 作为返回类型吗
我正在尝试在我们的下一个 Spring Boot 服务中使用 Kotlincoroutines
和spring-data-r2dbc
( )。databaseClient
我已经熟悉这两个概念,但是当我们深入研究实现的细节时,我开始问自己这个问题。
在我看到的大多数示例中,每个返回某种集合的端点在迁移到反应式方法时都将返回 Flow。
虽然没有其他(非阻塞)方式可以使用Mono
/来完成它Flux
,但由于我们想将订阅移交给 engine( Webflux
),但 Kotlin 的情况非常不同Flows
。Flow 的终端操作是暂停的,这使得它们本质上是非阻塞的。这意味着我可以在我得到它的时间和地点以非阻塞方式终止 Flow,并继续进行常规List
,例如。
当然,底层热发布者、反应式传输/协议等可能存在更复杂的场景,但在我的情况下,这是一个非常传统的服务。我们决定使用响应式方法的唯一原因是它受 IO 限制:对于每个 API 调用,我们需要通过 HTTP/REST 从多个其他服务获取数据,然后执行一些数据库查询,然后返回组合结果。List
所以,问题是:如果我可以当场将其简化为常规,例如在存储库中,那么在多个应用程序层(控制器、服务、存储库)中散布 Flow 是否有意义:
这样我的应用程序层的其余部分甚至都不知道Flow
(整个调用链无论如何都将保持可挂起)?
spring-boot - 使用 inMemory 数据库时的 R2dbc H2 问题
我试图品尝 R2dbc 并使用 Embedded H2,例如:
我定义了一个 bean 来创建表和初始化数据。
而且我还定义了另一个组件来通过java代码设置数据。
如果我.inMemory("testdb")
在ConnectionFactory
bean定义中使用,当SpringApplicationContext
初始化时,它会失败,因为初始化时找不到表POSTS
DataInitializer
。从启动日志开始,ConnectionFactoryInitializer
初始化成功,并通过执行 schema.sql 和 data.sql 创建表POSTS并按预期插入数据。
但是切换到使用.file("./testdb")
,它起作用了。
完整的代码在这里。
sql-server - r2dbc-mssql generatedKey 返回类型 numeric
示例堆栈:Spring Data R2dbc 1.0.0.RELEASE、R2dbc Mssql 0.8,完整代码在这里。
初始化脚本:
保存数据并从中获取生成的密钥时DataInitializer
。
如果我在行中使用Integer
orLong
而不是,它将引发错误,指示无法解码类型 [java.lang.Long] 的值,名称 [GENERATED_KEYS] 服务器类型 [numeric],它不是架构脚本中定义的,我必须使用 a才能使其工作。BigDecimal
.map((r, m) -> r.get( 0, BigDecimal.class)).all()
bigint
BigDecimal
spring-webflux - CockroachDb 的 SQL 构建器
尝试找到任何支持 CockroachDb 并与 spring-boot-webflux、spring-data-r2dbc 配合使用的 SQL 构建器库。或者至少为我将动态 SQL 语句编写为字符串的库,我将提供给数据库客户端执行程序。
本机 spring-data-r2dbc DatabaseClient API 不支持连接语句(https://docs.spring.io/spring-data/r2dbc/docs/1.0.x/reference/html/#r2dbc.datbaseclient.fluent-api。 select ) 这就是为什么我需要另一种方式来编写非普通动态 SQL。
JOOQ 还不支持 CockroachDB(https://github.com/jOOQ/jOOQ/issues/8545)。
有没有符合我期望的图书馆?
java - 使用 Spring Data R2DBC 获取嵌套对象
我是 Project Reactor 和 R2DBC 的新手。如何正确使用 Spring Data R2DBC 响应式存储库接收和Flux<Child>
合并?Mono<Parent>
家长:
父存储库:
孩子:
子库:
ParentPersistenceAdapter:
我的解决方案是: