Postgres UUID JDBC не работает

Последние драйверы Java JDBC для postgres утверждают, что изначально поддерживают UUID; работает против Postgres 9.2 (Mac).

Действительно, когда используется PreparedStatement, я могу пошагово просмотреть код драйвера и даже пройтись по специализированномуsetUuid» функция в AbstractJdbc3gStatement.java. Судя по всему, это должнопросто работай'.

Однако это не работает. База данных возвращает ошибку, которую я получаю таким образом:

Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: uuid = bytea
  Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
  Position: 139
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157) ~[postgresql-9.2-1002.jdbc4.jar:na]

Да, действительно, setUuid в драйвере JDBC отправляет это как байту:

private void setUuid(int parameterIndex, UUID uuid) throws SQLException {
        if (connection.binaryTransferSend(Oid.UUID)) {
            byte[] val = new byte[16];
            ByteConverter.int8(val, 0, uuid.getMostSignificantBits());
            ByteConverter.int8(val, 8, uuid.getLeastSignificantBits());
            bindBytes(parameterIndex, val, Oid.UUID);
        } else {
            bindLiteral(parameterIndex, uuid.toString(), Oid.UUID);
        }
    }

Что дает? Есть ли какая-то волшебная руна, необходимая в реальной базе данных, чтобы благословить это преобразование?

Ответы на вопрос(4)

Ваш ответ на вопрос