JOOQ: Как добавить возвращающее предложение при обновлении через запись - PullRequest
1 голос
/ 28 января 2020

Я в настоящее время обновляю таблицу, используя:

fun <T: MyRecordInterface<*>> updateRecord(record: T) {
   record.setField1("field1")
   record.setField2("field2")

   record.update()
}

, которые позволяют обновлять различные типы записей, которые используют один и тот же интерфейс:

updateRecord(myRecord1Instance)
updateRecord(myRecord2Instance)

Я хотел бы вернуть полное обновил запись после обновления, поэтому я сделал:

fun <T: MyRecordInterface<*>> updateRecord(record: T): T {
   record.setField1("field1")
   record.setField2("field2")

   record.update()
   record.refresh()

   return record
}

Можно ли добавить возвращающее предложение в запрос на обновление, чтобы мне не пришлось выдавать 2 запроса в этом методе?

1 Ответ

1 голос
/ 29 января 2020

Вы можете включить Settings.returnAllOnUpdatableRecord глобально, что будет автоматически извлекать все результирующие значения (идентификаторы, сгенерированные триггером значения и т. Д. c.) При каждом вызове store(), insert(), update(). .

Это применяется глобально и требует некоторых накладных расходов, особенно если вы не хотите получать эти результирующие значения, поэтому может иметь смысл использовать новый Configuration с указанным выше Settings только там, где это действительно необходимо.

...