首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jOOQ支持在SQL语句中放置名称吗?

jOOQ支持在SQL语句中放置名称吗?
EN

Stack Overflow用户
提问于 2021-12-06 20:01:40
回答 1查看 25关注 0票数 1

是否有一种方法可以在jOOQ中对SQL语句进行“标记”或将名称放置在其中,所以当我查看AWS的Performance时,我可以看到比语句的前500个字符更有意义的内容吗?

例如,Performance显示,此查询对我的DB造成了影响:

选择“my_schema”、“奎斯特”、“杯”、“id”、“my_schema”、“奎斯特”、“other_id”、“my_schema”、“奎斯特”、“cid_id”、“my_schema”、“奎斯特”、“valid_since”、“my_schema”、“奎斯特”、“valid_until”、“my_schema”、“奎斯特”、“地址”、“my_schema”、“杯”、“address_id_1”。“my_schema”、“宠物”、“id”、“my_schema”、“my_schema”、“cst_id”、“my_schema”、“my_schema”、“tag”、“my_schema”、“宠物”、“所有者”、“my_schema”、“宠物”、“created_on”、“my_schema”、“宠物”、“created_by”“my_schema”,“modified_on”,“modified_on”,

但是,当它被砍掉时,不知道是哪个jOOQ代码产生了这种情况。

我更希望看到这样的情景:

客户-宠物查找

或者:

(Customer - Pet Lookup)选择“my_schema”、“custs”、“id”、“my_schema”、“custs”、“other_id”、“my_schema”、“custs”、“cid_id”、“my_schema”、“custs”、“valid_since”、“my_schema”、“custs”、“valid_until”、“my_schema”、“custs”、“address”、“my_schema”、“custs”、“address_id_1”,“my_schema”、“宠物”、“id”、“my_schema”、“my_schema”、“cst_id”、“my_schema”、“my_schema”、“tag”、“my_schema”、“宠物”、“所有者”、“my_schema”、“宠物”、“created_on”、“my_schema”、“宠物”、“created_by”“my_schema”,“宠物”,“modified_on”,

EN

回答 1

Stack Overflow用户

发布于 2021-12-06 20:22:15

对于您想要实现的目标,至少有两种“开箱即用”的方法,这两种方法都完全与供应商无关:

1.使用“提示”

jOOQ支持使用hint()方法的Oracle样式提示,至少对于SELECT语句是这样。写一些类似于:

代码语言:javascript
运行
复制
ctx.select(T.A, T.B)
   .hint("/* my tag */")
   .from(T)
   .where(...)

这里的限制是提示的位置,它将紧跟在SELECT关键字之后。不确定这是否适用于您的RDBMS。

2.使用ExecuteListener

您可以为您的Configuration提供一个ExecuteListener,该ExecuteListener为您生成的SQL字符串提供需要添加的任何补丁:

代码语言:javascript
运行
复制
class MyListener extends DefaultExecuteListener {

    // renderEnd() is called after the SQL string is generated, but
    // before the prepared statement is created, let alone executed
    @Override
    public void renderEnd​(ExecuteContext ctx) {
        if (mechanismToDetermineIfTaggingIsNeeded())
            ctx.sql("/* My tag */ " + ctx.sql());
    }
}

使用正则表达式,可以将该标记放置在SQL字符串中的任何特定位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70251248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档