Java 使用jOOq时,如何将参数值用括号括起来?
我使用jOOq来编写查询,但我使用的是特定于供应商的SQL类型。。。具体要灵活搜索。SQL和FlexSearch之间的主要区别在于,参数值用花括号括起来。e、 gJava 使用jOOq时,如何将参数值用括号括起来?,java,sql,jooq,hybris,flexible-search,Java,Sql,Jooq,Hybris,Flexible Search,我使用jOOq来编写查询,但我使用的是特定于供应商的SQL类型。。。具体要灵活搜索。SQL和FlexSearch之间的主要区别在于,参数值用花括号括起来。e、 g SELECT * FROM {Product} WHERE {code} LIKE ‘%al%’ 所以我要做的是让jOOq自动截取查询构建过程以包含括号 通过查看文档,我似乎应该实现某种类型的执行侦听器?但我不知道那之后该怎么办。谢谢您确实可以实现一个取代 每个奇数“由{和每个偶数”由}使用任何方言(注意语法歧义) 每个奇数`a{
SELECT * FROM {Product} WHERE {code} LIKE ‘%al%’
所以我要做的是让jOOq自动截取查询构建过程以包含括号
通过查看文档,我似乎应该实现某种类型的执行侦听器?但我不知道那之后该怎么办。谢谢您确实可以实现一个取代
- 每个奇数
由“
和每个偶数{
由”
使用任何方言(注意语法歧义)}
- 每个奇数
`a
和每个偶数{
`a
使用MySQL方言}
- 每个
由[
和每个{
由]
使用SQL Server方言}
注意,jOOQ并不真正支持这种特殊的方言。这不是你唯一会遇到的事情。例如,您可以尝试在
ExecuteListener
中对子查询进行模式匹配,并将它们包装在{…}
中,但直接修补jOOQ也会更容易实现。此外,您还需要-1。在桌子和它们的连接处放上大括号。2.在子查询周围应用双大括号。为了确保查询格式匹配。嗨@Lukas,谢谢你的回复,这真的很有见地。我尝试过重写DefaultVisitLister
(我需要呈现sql字符串),但我很难使用呈现上下文用括号替换引号。这就是我尝试的context.renderContext().render().replaceAll(“[
]”,“[””),但我得到了NullPointer@user1272052:我很乐意用例子回答新问题,展示你做了什么,以及你得到的问题的更多信息。