问题标签 [r2dbc-postgresql]

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

spring-data-r2dbc - 更改 spring data r2dbc 上下文以在不同的数据库中使用 R2dbcRepositories

我想在一个问题上得到你有用的帮助。

如何更改 spring data r2dbc 存储库目标数据库(也许我在谈论“上下文”)?

让我解释得更好。

我正在管理(ConnectionFactory Properties)“连接工厂”以在我想要的任何数据库中执行 SQL-DDL 脚本 - 好的;但是,R2dbcRepositories (REactiveCruRepository) 方法,并没有遵循这个数据库我已经配置了 ConnectionFactory 属性。

如何更改 ConnectionFactory 属性,以便完成此配置的 REactiveCruRepository 点(意味着新数据库)?

非常感谢

0 投票
2 回答
3605 浏览

spring-data-r2dbc - R2dbc 自定义转换器

如何将我的自定义转换器添加到 mu spring boot 应用程序?我的实体字段

我的转换器是

我有一个例外

我该如何解决它,请帮助我!

0 投票
1 回答
252 浏览

spring-data-r2dbc - R2DBC 映射以在数据库中的表之间建立关系

如何在 Spring Data R2DBC 中使用地图,将具有接收/发送关系的地图表/实体发送到数据库?使用 r2dbcCustomConversions、@WritingConverter 和 @ReadingConverter。有人可以举个例子吗?非常感谢

0 投票
1 回答
331 浏览

spring-webflux - 连接重用和事务(关系)

R2DBC 如何实现事务处理。

据我所知,JDBC 为一个事务使用一个连接。所以在 Spring MVC 中我们有以下映射:1 个请求:1 个线程:1 个事务:1 个连接。

Webflux 与 R2DBC 的映射是什么?Webflux 是响应式的,所以当我们打开一个事务时,它是否使用一个连接直到事务结束?如果是这样,那么事务类似于阻塞操作,因为当事务处于活动状态时,没有其他事务可以重用 Spring Webflux 中的连接。

假设我们在 R2DBC 中定义了 10 个连接,并且 10 个 Webflux 请求打开了 10 个长事务。以下所有 Webflux 请求是否会等待这 10 个事务之一的结束,或者多个 Webflux 请求(带有事务)是否可以并行使用一个连接?

0 投票
1 回答
141 浏览

kotlin - 新实体的多个条件插入会在 R2DBC 中产生重复条目错误

让我们考虑这个函数

在使用以下驱动程序代码运行上述功能时,如果列表包含重复项,则会出现重复输入错误。理想情况下它不应该给出那个错误,因为上面的函数已经在处理重复插入的情况了!!

0 投票
1 回答
1415 浏览

java - 带有 JPA 和 R2DBC 的 Spring Boot 2.4 混合项目无法启动

我正在处理现有的 Spring Boot 2.4 项目,并试图将 Webflux 和 R2DBC 引入现有的基于 JPA 的应用程序中。

我能够引入 Webflux 依赖项:

没有任何问题,我的应用程序启动并正常运行,能够使用 Flux/Mono 执行一些测试,一切都很好。

然而,为了获得充分的反应性,我需要一直深入到持久层,即还引入 R2DBC 依赖项(对于 postgres)

我有以下作为我的配置类:

有了这种依赖关系,我的项目无法启动,始终给出相同的异常:

我无法理解为什么会发生这种情况——我们确实为我们的 DAO 使用了传统的 SimpleJpaRepository 实现/它们都没有扩展 ReactiveCrudRepository,因此从应用程序的角度来看,不应将其“视为”为响应式存储。

无论如何,我想知道其他人是否面临类似的情况以及可能的解决方法/修复。

0 投票
2 回答
2271 浏览

java - 如何使用 spring-boot-starter-data-r2dbc 启用连接池?

我有一个具有 data-r2dbc 依赖项的 Spring Boot 应用程序。我使用 PostgreSQL 作为数据库。
所以我已经有了以下依赖项(gradle notation):

  • org.springframework.boot:spring-boot-starter-data-r2dbc:2.3.5.RELEASE
  • io.r2dbc:r2dbc-postgresql

我需要为 R2DBC 连接启用连接池。不幸的是,我找不到任何详尽的手册来做到这一点。

根据这个相当过时的发行说明,我还必须添加io.r2dbc:r2dbc-pool 并使用spring.r2dbc.pool.*属性来配置池。

此外,根据这个参考,我不需要手动打开池,因为如果r2dbc-pool在类路径上找到 SB,它将启用它。

够了还是我错过了什么?

0 投票
3 回答
1819 浏览

java - 在 Spring Data R2DBC 上初始化数据库以进行测试

在非测试环境中,我可以schema.sql像这样设置 bean 来初始化数据库

问题是,我想做这样的事情,但出于测试目的。我正在尝试对数据库进行某种集成测试,因此我也希望将架构插入到虚拟数据库中。

我试过使用这个注释,但它仍然不会执行

application-test.properties在我的测试资源文件夹中创建了一个单独的包含此属性值的文件夹

并添加了@ActiveProfiles(profiles = "test")注释。

0 投票
2 回答
811 浏览

postgresql - postgres r2dbc 给出 ssl 错误,但使用 jpa 连接

r2dbc 配置:

jpa配置:

jpa 连接工作正常并返回结果,r2dbc 无法连接到服务器瞄准无法找到有效证书

原因:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

在 r2dbc 和 ssl 关闭的情况下,它说 pg_hba.conf 没有主机条目。为什么它只要求带有 r2dbc 配置的证书。

与 r2dbc 的依赖关系:

对于 jpa,我使用的是 spring web starter 和 jpa starter,两者都是 spring 版本 2.4.1。我被这个困住了,找不到这个错误的原因。欢迎任何解决方案。

0 投票
1 回答
858 浏览

spring-boot - Spring boot r2dbc transactional:注释哪个方法

我正在使用带有 webflux 的 spring-boot 2.4.2 来连接到 postgres 数据库。我在使用时观察到一种@Transactional我不理解的行为。

为了展示这种行为,我创建了一个示例应用程序,它尝试将行添加到两个表中;表“a”和表“b”。对表“a”的插入预计会因重复键违规而失败。鉴于使用了事务性,我希望不会将任何行添加到表“b”中。

但是,根据我注释的方法,@Transactional我会得到不同的结果。

如果我注释控制器方法,事情会按预期工作,并且不会向表 B 添加任何行。

DemoService 看起来像这样:

如果我将@Transactional注释从控制器移动到doSomething(),那么事务仍然按预期工作。但是,如果我将@Transactional注释移至internal(),则事务不会按预期工作。一行被添加到表“b”。

这个例子的完整代码在这里:https ://github.com/alampada/pg-spring-r2dbc-transactional

我不明白为什么将注释移动到internal()方法会导致事务处理出现问题。你能解释一下吗?