diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java index 4e618339c9..d5f7211521 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java @@ -1900,6 +1900,11 @@ public abstract class AbstractDatabase implements Database { if (embeddable.getTables() != null && !matches(patterns.pattern(embeddable.getTables()), table)) continue embeddableLoop; + if (embeddable.getFields().isEmpty()) { + log.warn("Illegal embeddable", "An embeddable definition must have at least one field declaration"); + continue embeddableLoop; + } + List columns = new ArrayList<>(); List names = new ArrayList<>(); @@ -1914,7 +1919,6 @@ public abstract class AbstractDatabase implements Database { matched = columns.add(column) && names.add(defaultIfEmpty(embeddableField.getName(), column.getName())); } - if (columns.size() == embeddable.getFields().size()) { CatalogDefinition catalog = getCatalog(embeddable.getCatalog());