JOOQ的insert ...返回PostgreSQL 10和JOOQ 3.10吗?

时间:2018-10-22 20:27:47

标签: java sql postgresql jooq postgresql-10

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上做错了还是这是一个问题,也许在某些较新的版本中已经解决了?

1 个答案:

答案 0 :(得分:3)

execute()将返回查询插入/更新/删除的行数。您将要调用fetch()之类的fetchOne()变体之一。

Javadoc: