У меня есть таблицы в Postgres, которые используют UUID в качестве первичного ключа, а тип этого столбца — собственные UUID Postgres. Как сохранить эти UUID в подготовленном операторе, созданном с помощью шаблона JDBC?
Я попробовал преобразовать UUID в строку следующим образом:
Код: Выделить всё
int rowsAffected = this.jdbc.update(sql, new Object[] {
baseMaterial.getId().toString().toLowerCase(),
baseMaterial.getName(),
baseMaterial.getDescription()
});
Код: Выделить всё
ERROR: column "id" is of type uuid but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Код: Выделить всё
int rowsAffected = this.jdbc.update(sql, new Object[] {
baseMaterial.getId(),
baseMaterial.getName(),
baseMaterial.getDescription()
});
Код: Выделить всё
org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.util.UUID. Use setObject() with an explicit Types value to specify the type to use.
Подробнее здесь: https://stackoverflow.com/questions/470 ... c-template
Мобильная версия