Mybatis - 为Hsql指定“useGeneratedKeys”时出错

时间:2016-10-11 17:20:53

标签: java hsqldb mybatis

内部Mybatis映射器文件,对于<insert>语句,当添加属性useGeneratedKeys="true"时,将收到错误:

  

org.hsqldb.HsqlException:user缺少未找到的权限或对象:id

该配置适用于PostgresqlMysql,但不适用于Hsql

hsql中的 id 列定义为:

id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY

删除属性useGeneratedKeys="true"时,它可以正常工作。

但为什么会这样呢?

1 个答案:

答案 0 :(得分:3)

是“id”的字符大小写。尝试将数据库中的列定义为

 "id" BIGINT GENERATED ...

或者,在MyBatis中将列定义为ID(大写)。