JOOQ 的插入...返回 PostgreSQL 10 和 JOOQ 3.10?
JOOQ's insert...returning with PostgreSQL 10 and JOOQ 3.10?
JOOQ 的 insert...returning 似乎不适用于生成的代码。
有一个 问题处理普通 SQL,但我没有使用普通 SQL。
这是有问题的行:
public Integer add(MemberRecord member) {
// always returns 1
return dslContext.insertInto(MEMBER).set(member).returning(MEMBER.ID).execute();
}
成员 table 有一个序列号作为主键。
生成的查询是正确的,如果我手动执行它,它将 return 序列生成的 ID。
-- ID is not specified in values list
insert into "member" ("name", ...) returning "member"."id"
数据库是PostgreSQL10,JOOQ版本是3.10.8.
我是不是在使用 JOOQ 时做错了什么,或者这是一个问题,可能已经在一些较新的版本中修复了?
execute()
将 return 行数 inserted/updated/deleted 由查询。您需要调用 fetch()
变体之一,例如 fetchOne()
.
Javadoc:
JOOQ 的 insert...returning 似乎不适用于生成的代码。
有一个
这是有问题的行:
public Integer add(MemberRecord member) {
// always returns 1
return dslContext.insertInto(MEMBER).set(member).returning(MEMBER.ID).execute();
}
成员 table 有一个序列号作为主键。 生成的查询是正确的,如果我手动执行它,它将 return 序列生成的 ID。
-- ID is not specified in values list
insert into "member" ("name", ...) returning "member"."id"
数据库是PostgreSQL10,JOOQ版本是3.10.8.
我是不是在使用 JOOQ 时做错了什么,或者这是一个问题,可能已经在一些较新的版本中修复了?
execute()
将 return 行数 inserted/updated/deleted 由查询。您需要调用 fetch()
变体之一,例如 fetchOne()
.
Javadoc: