2017-05-15 4 views
1

例えばが拡大jooqの行の値クエリは、それによって生成された行の値句は拡張することができる場合、MySQLが正しく行の値にインデックスを使用することができないので、MySQLのクエリおよびチェックを生成するjooq使用

を照会

DSLContext context = new DefaultDSLContext(SQLDialect.MYSQL); 
SelectQuery<Record> select = context.selectQuery(); 
select.addSelect(field("Col1")); 
select.addFrom(table("Table1").as("T1")); 
select.addOrderBy(field("Name"), field("Sid")); 
select.addSeekAfter(param("p2", "John"), param("p3","123")); 
String generated = select.getSQL(ParamType.NAMED); 

は、次のクエリ

where (1 = 1 and (Name, Id) > (:p2, :p3)) order by Name asc, Id asc 

しかし

になりたいでしょうが生成さ10
where Name > :p2 or (Name = :p2 and Id > :p3) order by Name asc, Id asc 

答えて

1

現在のところ(jOOQ 3.9、#6230を参照)、この動作を無効にすることはできません。必要なフォームの明示的な述語を追加する必要があります。

関連する問題