Вставка JOOQ ... возвращается с PostgreSQL 10 и JOOQ 3.10? - PullRequest
0 голосов
/ 22 октября 2018

Кажется, что JOOQ insert ... return не работает для сгенерированного кода.

Существует похожая проблема, которая касается простого SQL, однако яЯ не использую простой SQL.

Это сомнительная строка:

public Integer add(MemberRecord member) {
// always returns 1
    return dslContext.insertInto(MEMBER).set(member).returning(MEMBER.ID).execute(); 
}        

Таблица элементов имеет серийный идентификатор в качестве первичного ключа.Сгенерированный запрос правильный, и если я выполню его вручную, он вернет идентификатор, сгенерированный последовательностью.

 -- ID is not specified in values list
 insert into "member" ("name", ...) returning "member"."id"

База данных - PostgreSQL 10, версия JOOQ - 3.10.8.

Я делаю что-то не такс JOOQ или это проблема, возможно, исправленная уже в некоторых новых версиях?

1 Ответ

0 голосов
/ 23 октября 2018

execute() вернет количество строк, вставленных / обновленных / удаленных по запросу.Вам нужно вызвать один из fetch() вариантов, таких как fetchOne().

Javadoc:

...