diff --git a/jOOQ/src/main/java/org/jooq/Asterisk.java b/jOOQ/src/main/java/org/jooq/Asterisk.java
index c62853a287..9764edc98b 100644
--- a/jOOQ/src/main/java/org/jooq/Asterisk.java
+++ b/jOOQ/src/main/java/org/jooq/Asterisk.java
@@ -40,6 +40,8 @@ package org.jooq;
import org.jetbrains.annotations.*;
import org.jetbrains.annotations.ApiStatus.Experimental;
+import java.util.Collection;
+
import org.jooq.impl.DSL;
import org.jooq.impl.QOM;
import org.jooq.impl.QOM.UnmodifiableList;
@@ -106,6 +108,17 @@ public non-sealed interface Asterisk extends SelectFieldOrAsterisk {
@Support
Asterisk except(Field>... fields);
+ /**
+ * The asterisk (*) to be used in SELECT clauses.
+ *
+ * This expression is a convenient way to select "all but some fields". Some
+ * dialects (e.g. {@link SQLDialect#H2}) implement this feature natively. In
+ * other dialects, jOOQ expands the asterisk if possible.
+ */
+ @NotNull
+ @Support
+ Asterisk except(Collection extends Field>> fields);
+
// -------------------------------------------------------------------------
// XXX: Query Object Model
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/QualifiedAsterisk.java b/jOOQ/src/main/java/org/jooq/QualifiedAsterisk.java
index 62042e17da..fec44f6a36 100644
--- a/jOOQ/src/main/java/org/jooq/QualifiedAsterisk.java
+++ b/jOOQ/src/main/java/org/jooq/QualifiedAsterisk.java
@@ -37,11 +37,13 @@
*/
package org.jooq;
+import java.util.Collection;
+
import org.jooq.impl.QOM;
import org.jooq.impl.QOM.UnmodifiableList;
-import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ApiStatus.Experimental;
+import org.jetbrains.annotations.NotNull;
/**
@@ -113,6 +115,18 @@ public non-sealed interface QualifiedAsterisk extends SelectFieldOrAsterisk {
@Support
QualifiedAsterisk except(Field>... fields);
+ /**
+ * The qualified asterisk (t.* EXCEPT (fields)) expression to
+ * be used in SELECT clauses.
+ *
+ * This expression is a convenient way to select "all but some fields". Some
+ * dialects (e.g. {@link SQLDialect#H2}) implement this feature natively. In
+ * other dialects, jOOQ expands the asterisk if possible.
+ */
+ @NotNull
+ @Support
+ QualifiedAsterisk except(Collection extends Field>> fields);
+
// -------------------------------------------------------------------------
// XXX: Query Object Model
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/impl/AsteriskImpl.java b/jOOQ/src/main/java/org/jooq/impl/AsteriskImpl.java
index 31f4b5723e..b30e1473db 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AsteriskImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AsteriskImpl.java
@@ -136,7 +136,8 @@ final class AsteriskImpl extends AbstractQueryPart implements Asterisk {
return except(Arrays.asList(f));
}
- final Asterisk except(Collection extends Field>> f) {
+ @Override
+ public final Asterisk except(Collection extends Field>> f) {
QueryPartList