首页 > 解决方案 > Spring Boot vs JOOQ vs Unix套接字

问题描述

我有用于使用 PostrgesDB 的 JOOQ 的 Spring Boot 应用程序。此应用程序必须在 Google 云上运行。如果我将其部署为 AppEngine Flex,则一切正常。

现在我需要将这个应用程序部署并运行到谷歌运行中。https://cloud.google.com/sql/docs/postgres/connect-run#public-ip-default_1描述了将 Cloud Run 与 PostgresDB 连接的方式。

我的问题是结合使用 JOOQ 和 com.google.cloud.sql.postgres.SocketFactory 你有解决方案吗?

标签: spring-bootjooqgoogle-cloud-rununix-socket

解决方案


jOOQ 提供了通过 JDBC 执行查询的方法,并从 jOOQ 3.15 开始通过R2DBC。如果您的安装不支持 JDBC 或 R2DBC 驱动程序但需要更多低级交互,则不能使用 jOOQ 直接执行 SQL,但您仍然可以从 jOOQ 查询中提取 SQL 字符串和绑定变量并实现胶水代码你SocketFactory自己。此处提供了一个示例,其中jOOQ 查询在 JPA 上执行EntityManager

// query is any jOOQ query
String sql = query.getSQL();
List<Object> binds = query.getBindValues();

推荐阅读