内部Mybatis
映射器文件,用于 <insert>
语句,当添加属性时 useGeneratedKeys="true"
, 会报错:
org.hsqldb.HsqlException: user lacks privilege or object not found: id
配置适用于 Postgresql
和 Mysql
, 但不是 Hsql
.
hsql
中的 id 列定义为:
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY
删除属性时 useGeneratedKeys="true"
, 它有效。
但为什么会这样呢?
最佳答案
是“id”的大小写。尝试将数据库中的列定义为
"id" BIGINT GENERATED ...
或者,在 MyBatis 中将列定义为 ID(大写)。
关于java - Mybatis - 为Hsql指定 "useGeneratedKeys"时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983014/