diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java index 754d4b1afb..667beed377 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java @@ -1701,9 +1701,24 @@ final class SelectImpl> seekValues(Object[] values) { + if (getQuery() instanceof SelectQueryImpl) { + SelectQueryImpl query = (SelectQueryImpl) getQuery(); + List> fields = query.getOrderBy().fields(); + DataType[] types = new DataType[fields.size()]; + + for (int i = 0; i < types.length; i++) + types[i] = fields.get(i).getDataType(); + + return Tools.fields(values, types); + } + else + return Tools.fields(values); + } + @Override public final SelectSeekLimitStep seek(Object... values) { - getQuery().addSeekAfter(Tools.fields(values)); + getQuery().addSeekAfter(seekValues(values)); return this; } @@ -1715,7 +1730,7 @@ final class SelectImpl seekAfter(Object... values) { - getQuery().addSeekAfter(Tools.fields(values)); + getQuery().addSeekAfter(seekValues(values)); return this; }