Java JDBC支持枚举吗?

Java JDBC支持枚举吗?,java,jdbc,enums,Java,Jdbc,Enums,我真的找不到一个好的enum JDBC映射示例。 JDBC实际上支持enum吗 我正在使用MySQL。我有一个枚举列,希望映射到一些Java枚举。JDBC不支持枚举 不过,您可以将字符串转换为枚举,因此如果您有Java枚举,可以执行以下操作 MyEnum enumVal = MyEnum.valueOf(rs.getString("EnumColumn")); 不过,您必须保持java枚举和mysql枚举同步。如果字符串中没有映射,MyEnum.valueOf()可以抛出IllegalAr

我真的找不到一个好的enum JDBC映射示例。 JDBC实际上支持enum吗


我正在使用MySQL。我有一个枚举列,希望映射到一些Java枚举。

JDBC不支持枚举

不过,您可以将字符串转换为枚举,因此如果您有Java枚举,可以执行以下操作

 MyEnum enumVal =  MyEnum.valueOf(rs.getString("EnumColumn"));

不过,您必须保持java枚举和mysql枚举同步。如果字符串中没有映射,MyEnum.valueOf()可以抛出IllegalArgumentException;如果从数据库中获取空值,则可以抛出NullPointerException。

下面是一些将JDBC值转换为Java枚举时使用的通用解决方案

param = Enum.valueOf((Class<? extends Enum>)dbField.getField().getType(), (String) param);
param=Enum.valueOf((类