繁体   English   中英

如何使用JOOQ“选择SQL_NO_CACHE”?

[英]How to “SELECT SQL_NO_CACHE” using JOOQ?

我试图为其找到文档,但失败了。 有谁知道?

有几种方法可以向jOOQ查询添加MySQL风格的提示:

使用.hint()

jOOQ允许通过.hint()方法将“提示”传递给SELECT语句,如本手册中所述:

http://www.jooq.org/doc/latest/manual/sql-building/sql-statements/select-statement/oracle-hints

SQL_NO_CACHE提示应用于手册中给出的示例,您将获得:

DSL.using(configuration)
   .select(field1, field2)
   .hint("SQL_NO_CACHE")
   .from(table1)
   .fetch();

使用普通SQL

您可以使用普通SQL来调整SELECT子句中的第一个字段,以使用DSL.field(String)包含提示。 例如

DSL.using(configuration)
   .select(DSL.field("SQL_NO_CACHE {0}", field1.getDataType(), field1), field2)
   .from(table1)
   .fetch();

使用ExecuteListenerVisitListener

您可以将ExecuteListenerVisitListener注入配置中,以转换所有相关的SQL查询字符串以在SELECT关键字之后包含提示。 在您的情况下,这可能有点矫over过正,但是值得一提的是,它可以解决此类问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM