gpt4 book ai didi

postgresql - 在 jOOQ 中设置 PostgreSQL search_path

转载 作者:行者123 更新时间:2023-11-29 12:20:30 26 4
gpt4 key购买 nike

回到 jOOQ 2.5 看起来你可以通过 FactoryOperations 设置 PostgreSQL search_path类,但该类在 jOOQ 3.5 中消失了。显然 FactoryOperations 分为 DSL 和 DSLContext,但我似乎无法找到 use(Schema) 方法的结束位置。我们如何在更新版本的 jOOQ 中设置 PostgreSQL search_path?

最佳答案

当 jOOQ 3.0 发布时,其中一些“遗留”功能被删除,主要是因为它们没有经过深思熟虑。在这种特殊情况下,use(Schema)方法假装 jOOQ 支持的不同 RDBMS 实际上对“当前模式”是什么有一个共同的想法。然而,对于那些将 jOOQ 与多个数据库一起使用的用户,该实现有点误导和混淆。

More information on the jOOQ 3.0 feature removals here .

今天的解决方案是

1。使用特定于供应商的命令,例如

ALTER USER my_user SET search_path = ...

More info about that here

2。使用 jOOQ 的运行时模式映射功能

使用此功能,您可以在运行时指定 jOOQ 生成的真实模式名称。例如,如果您生成的代码中的模式是 FOO 并且生成的“普通”SQL 语句如下所示:

SELECT foo.table.column FROM foo.table

您可以指定从 FOOBAR 的映射,让 jOOQ 生成以下 SQL,而无需触及您的 Java 代码:

SELECT bar.table.column FROM bar.table

More info about that here

关于postgresql - 在 jOOQ 中设置 PostgreSQL search_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com