Я использую базу данных H2. У меня есть таблица с идентификационной колонкой. Я выполняю вставку, а затем пытаюсь вызвать функцию identity (), чтобы определить идентификатор, назначенный вновь созданной строке.
Вот фрагмент кода, который я использую для вызова функции идентификации:
CallableStatement cs = dbConnection.prepareCall("{ ? = call IDENTITY()}");
cs.registerOutParameter(1, Types.BIGINT);
cs.execute();
id = cs.getLong(1);
cs.close();
Проблема, с которой я столкнулся, заключается в том, что по какой-то причине эта функция работает в режиме сервера, но выдает мне эту ошибку при вызове функции во встроенном режиме:
org.h2.jdbc.JdbcSQLException: параметр "# 1" не задан; Оператор SQL:
? = вызов IDENTITY () [90012-160]