From 1755f1b29905e0967dcc35daf16e1ed17b25229a Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 24 Nov 2022 12:05:29 +0100 Subject: [PATCH] [jOOQ/jOOQ#7076] ForcedType enum with no matching value being converted to last enum value --- jOOQ/src/main/java/org/jooq/impl/EnumConverter.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/EnumConverter.java b/jOOQ/src/main/java/org/jooq/impl/EnumConverter.java index 30a8e4e13c..538fae9dc0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/EnumConverter.java +++ b/jOOQ/src/main/java/org/jooq/impl/EnumConverter.java @@ -75,13 +75,20 @@ public /* non-final */ class EnumConverter> extends Abstrac this.to = to; this.lookup = new LinkedHashMap<>(); - for (U u : toType.getEnumConstants()) - this.lookup.put(to(u), u); + for (U u : toType.getEnumConstants()) { + T key = to(u); + + if (key != null) + this.lookup.put(key, u); + } } @Override public final U from(T t) { - return lookup.get(t); + if (t == null) + return null; + else + return lookup.get(t); } /**