我想到了。我需要在nullSafeSet函数中使用setObject而不是setString,并将Types.OTHER作为java.sql.type传入,以使jdbc知道它是postgres类型。
public void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException { if (value == null) { st.setNull(index, Types.VARCHAR); } else {// previously used setString, but this causes postgresql to bark about incompatible types.//now using setObject passing in the java type for the postgres enum object// st.setString(index,((Enum) value).name()); st.setObject(index,((Enum) value), Types.OTHER); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)