当前位置: 首页 > 知识库问答 >
问题:

在jOOQ中设置PostgreSQL搜索路径

周鸿光
2023-03-14

回到Jooq2.5,看起来可以通过FactoryOperations类设置PostgreSQL搜索路径,但Jooq3.5中没有该类。显然,FactoryOperations分为DSL和DSLContext,但我似乎找不到use(Schema)方法的结尾。如何在较新版本的jOOQ中设置PostgreSQL搜索路径?

共有1个答案

谈禄
2023-03-14

当JooQ3.0发布时,这些“遗留”特性中的一些被删除,主要是因为它们没有经过深思熟虑。在这个特定的例子中,use(Schema)方法假装jOOQ支持的不同RDBMS实际上对“当前模式”有一个共同的概念。然而,对于那些将jOOQ与多个数据库一起使用的用户来说,该实现有点误导和混淆。

有关jOOQ 3.0功能删除的更多信息,请参见此处。

今天的解决办法是

ALTER USER my_user SET search_path = ...

更多信息请点击这里

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

SELECT foo.table.column FROM foo.table

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

SELECT bar.table.column FROM bar.table

更多信息请点击这里

 类似资料:
  • 使用 echo $PATH ,可以显示 $PATH 变量,输出如下: /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/bin/X11 /usr/games /usr/X11R6/bin 它是一个环境变量,代表执行命令时,Shell 的搜索路径。 执行一个命令时,Shell 会到 $PATH 变量定义的路径去搜索

  • 6.3.1.SetMatchMode (设置匹配模式) 原型:function SetMatchMode ( $mode ) 设置全文查询的匹配模式,见Section4.1, “匹配模式”中的描述。参数必须是一个与某个已知模式对应的常数。 警告:(仅PHP)查询模式常量不能包含在引号中,那给出的是一个字符串而不是一个常量: $cl->SetMatchMode ( "SPH_MATCH_ANY" )

  • 6.2.1.SetLimits (设置结果集偏移量) 原型:function SetLimits ( $offset, $limit, $max_matches=0, $cutoff=0 ) 给服务器端结果集设置一个偏移量($offset)和从那个偏移量起向客户端返回的匹配项数目限制($limit)。并且可以在服务器端设定当前查询的结果集大小($max_matches),另有一个阈值($cutof

  • 问题内容: 说我有一个边列表,每个边包含两个节点(到和从)。找到两个给定节点的边缘的最佳方法是什么?请注意,边缘的节点可能会重复。 假设我在这种格式下具有优势: 1 <-> 5 3 <-> 7 5 <-> 6 2 <-> 6 然后,诸如1 5的查询将返回 true 。 然后,诸如5 2之类的查询将返回 true, 因为5连接6并且6连接至2。 然后,诸如1 7的查询将返回 false 。 然后,诸

  • 我正在根据edittext中的数据对listview数据进行搜索,我的代码对于搜索功能是正确的,但是有一个问题,只有当我在edittext中输入数据进行搜索时,listview上的数据才会出现,但是我想在搜索之前显示listview中的所有数据。 这是我的代码。 logcat:01-30 17:33:23.926:E/AndroidRuntime(782):在android上。应用程序。活动线程。

  • 我正在使用vuex和vue路由器创建一个简单的应用程序,它可以在不同的路径上渲染电影和节目,并为这两个路径提供搜索选项。电影和节目在单独的组件中,我的搜索输入元素在布局中。vue组件。我通过vuex制作了一个电影搜索选项,可以正常工作,现在我想为节目设置搜索选项。现在我想知道是否可以通过vuex设置搜索选项,仅当我在“/movies”路线上时触发电影搜索,并仅当我在“/shows”路线上时触发节目