From 72c259a48a87c866427552eaca4fc2bcaa0e8254 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 19 Aug 2020 13:19:35 +0200 Subject: [PATCH] [jOOQ/jOOQ#8353] Added a warning when embeddable definitions lack fields --- jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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());