Внутри Mybatis
картографа файла для <insert>
заявления, когда добавить свойство useGeneratedKeys="true"
, получит сообщение об ошибке:Mybatis - Ошибка при указать "useGeneratedKeys" для HSQL
org.hsqldb.HsqlException: user lacks privilege or object not found: id
Конфигурация работает Postgresql
и Mysql
, но не Hsql
.
идентификатор столбца в hsql
определяется как:
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY
Когда удалить свойство useGeneratedKeys="true"
, это работает.
Но почему это произошло?
Я использую его, и он работает. Я использую его с совместимостью Postgres (используя BigSerial), но он переводится в эквивалент Hsql, поэтому это должно работать. (http://hsqldb.org/doc/guide/compatibility-chapt.html#coc_compatibility_postgres) – Pau
@Pau Я тестировал его, он не работает с 'Hsql', может быть, в Hsql, реализация' IDENTITY' является специальной , и вызывают проблему. –
@Pau Проблема вызвана особой чувствительностью к регистру в именах в 'hsqldb', см. Ответ и комментарии @ fredt. –