无法使用JOOQ更新SQLITE中的表行

无法使用JOOQ更新SQLITE中的表行,sqlite,kotlin,jooq,Sqlite,Kotlin,Jooq,jooq正在为sqlite数据库生成无效的update语句 这是数据库表 CREATE TABLE "job" ( `id` integer PRIMARY KEY AUTOINCREMENT, `addressId` text, `log` text ) 有效语句: update "job" set "log" = (coalesce("log", ?) || ? || ?) WHERE id > 0 Jooq生成的语句 update "job" set "job".

jooq正在为sqlite数据库生成无效的update语句

这是数据库表

CREATE TABLE "job" (
  `id` integer PRIMARY KEY AUTOINCREMENT, 
  `addressId` text,
   `log` text
)
有效语句:

update "job" set "log" = (coalesce("log", ?) || ? || ?) WHERE id > 0
Jooq生成的语句

update "job" set "job"."log" = (coalesce("job"."log", ?) || ? || ?) where "job"."id" >= ?
以下是我使用的示例代码:

DSL.using(configuration).update(JOB).set(JOB.LOG, DSL.coalesce(JOB.LOG, "")
                .concat("char(10)", "Hello"))
                .where(JOB.ID.ge(0)).execute()

如何强制jooq生成有效的sqlite更新语句?

最有可能的解释是,您没有正确地使用
sqldialent.sqlite
方言配置
。在该方言中,
set
子句中的列引用将不被限定,任何列或表也不会被引用。

您是否使用
sqldialent.SQLITE
正确设置了
配置
?另外,为什么要为
作业
表别名?是的,我配置了相同的方言。能够成功查询数据库,但更新失败。我忘记删除别名,现在已更新。我无法复制此别名。通过正确配置,SQLite的update语句中没有列限定,也没有列引用。您能展示一下如何创建
配置吗?
?感谢Lukas Eder抽出时间,不幸的是,由于某种原因,这是一个IDE问题。我添加了sqldial.SQLITE,但文件没有刷新。在将方言打印到控制台后,我知道了这一点。昨天在您的评论后,我重新检查了,但没有明确调试问题。