Вставка в пользовательские типы SQL с подготовленными операторами в java

У меня есть несколько пользовательских типов. Все они в основном перечисления. Вот пример того, как они выглядят:

CREATE TYPE card_suit AS ENUM
   ('spades',
    'clubs',
    'hearts',
    'diamonds');

И у меня есть несколько подготовленных выражений на Java, которые выглядят примерно так:

// Setup stuff up here.
sql = "INSERT INTO foo (suit) VALUES (?)";
st.setString(1, 'spades');
st.executeUpdate(sql);

И Java дает мне несколько неприятных исключений вроде этого:

org.postgresql.util.PSQLException: ERROR: column "suit" is of type card_suit but expression is of type character varying
Hint: You will need to rewrite or cast the expression.

Приятно, что они дают мне подсказку, но я точно не знаю, как ей следовать.

17
задан Tom Carrick 26 February 2016 в 21:11
поделиться