diff --git a/jOOQ/src/main/java/org/jooq/DataType.java b/jOOQ/src/main/java/org/jooq/DataType.java index c8dea96d32..1fbb4103d3 100644 --- a/jOOQ/src/main/java/org/jooq/DataType.java +++ b/jOOQ/src/main/java/org/jooq/DataType.java @@ -770,6 +770,11 @@ public interface DataType extends Named { */ boolean isArray(); + /** + * Whether this data type is an embeddable type. + */ + boolean isEmbeddable(); + /** * Whether this data type is a UDT type. */ diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java index 16f0785b05..bb0d037099 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java @@ -76,6 +76,7 @@ import org.jooq.Context; import org.jooq.Converter; import org.jooq.DataType; import org.jooq.Domain; +import org.jooq.EmbeddableRecord; import org.jooq.EnumType; import org.jooq.Field; import org.jooq.JSON; @@ -656,6 +657,11 @@ abstract class AbstractDataType extends AbstractNamed implements DataType (!isBinary() && tType.isArray()); } + @Override + public final boolean isEmbeddable() { + return EmbeddableRecord.class.isAssignableFrom(tType0()); + } + @Override public final boolean isUDT() { return UDTRecord.class.isAssignableFrom(tType0());