From 01c1beaa5503536319154d8e1b4d451466f145dc Mon Sep 17 00:00:00 2001 From: Victor Pirat Date: Thu, 24 May 2012 09:41:29 +0200 Subject: [PATCH] Handle String to Enum conversion (when Java Enums are stored as Strings in the database). --- jOOQ/src/main/java/org/jooq/tools/Convert.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/tools/Convert.java b/jOOQ/src/main/java/org/jooq/tools/Convert.java index b71b81c631..be5fe116c1 100644 --- a/jOOQ/src/main/java/org/jooq/tools/Convert.java +++ b/jOOQ/src/main/java/org/jooq/tools/Convert.java @@ -516,6 +516,14 @@ public final class Convert { else if ((fromClass == Long.class || fromClass == long.class) && java.util.Date.class.isAssignableFrom(toClass)) { return toDate((Long) from, toClass); } + + else if ((fromClass == String.class) && java.lang.Enum.class.isAssignableFrom(toClass)) { + try { + return java.lang.Enum.valueOf(toClass, (String) from); + } catch (java.lang.IllegalArgumentException e) { + throw fail(from, toClass); + } + } } throw fail(from, toClass);