内部Mybatis
映射器文件,对于<insert>
语句,当添加属性useGeneratedKeys="true"
时,将收到错误:
org.hsqldb.HsqlException:user缺少未找到的权限或对象:id
该配置适用于Postgresql
和Mysql
,但不适用于Hsql
。
hsql
中的 id 列定义为:
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY
删除属性useGeneratedKeys="true"
时,它可以正常工作。
但为什么会这样呢?
答案 0 :(得分:3)
是“id”的字符大小写。尝试将数据库中的列定义为
"id" BIGINT GENERATED ...
或者,在MyBatis中将列定义为ID(大写)。