java - Mybatis - 为Hsql指定 "useGeneratedKeys"时出错

标签 java hsqldb mybatis

内部Mybatis映射器文件,用于 <insert>语句,当添加属性时 useGeneratedKeys="true" , 会报错:

org.hsqldb.HsqlException: user lacks privilege or object not found: id

配置适用于 PostgresqlMysql , 但不是 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/

相关文章:

SQL 正则表达式 - 选择 '/' 之后的所有内容并拆分为数组

java - 为什么我无法在jsp中显示从数据库获取的数据?

postgresql - 从 MyBatis <insert> 映射方法返回值

java - 如何在 MyBatis Mapper XML 中连接一个 ResultHandler

java - 调试模块中的逻辑错误

java - 如何在java中对动态结构进行排序

java - 如何配置 Eclipse 以便它在 Java 类的底部添加私有(private)字段?

java - 如何检查连接池是否被使用

java - MongoDB Java 列出所有数据库用户

java - MyBatis 3 - 从映射器获取 SQL 字符串