JOOQ的 insert ...返回似乎不适用于生成的代码。
有一个similar问题,涉及普通SQL,但是我没有使用普通SQL。
这是有问题的行:
public Integer add(MemberRecord member) {
// always returns 1
return dslContext.insertInto(MEMBER).set(member).returning(MEMBER.ID).execute();
}
成员表具有序列号作为主键。 生成的查询是正确的,如果我手动执行它,它将返回按序列生成的ID。
-- ID is not specified in values list
insert into "member" ("name", ...) returning "member"."id"
数据库是PostgreSQL 10,JOOQ版本是3.10.8。
我在JOOQ上做错了还是这是一个问题,也许在某些较新的版本中已经解决了?
答案 0 :(得分:3)
execute()
将返回查询插入/更新/删除的行数。您将要调用fetch()
之类的fetchOne()
变体之一。
Javadoc: