JOOQ: Как добавить интерфейс к классу записей, чтобы позволить generi c вставку данных - PullRequest
1 голос
/ 26 января 2020

Используя Jooq 3.12.3, я генерирую несколько классов Record с одинаковыми полями.

Я хочу добавить вспомогательный метод, который сможет вставлять записи этого типа, используя общий интерфейс. Что-то вроде:

fun insert(record: MyRecordInterface) {
    record.setField1("a")
    record.setField2("a")
    record.attach(configuration)
    record.store()
}

val record1 = Record1()
val record2 = Record2()
insert(record1)
insert(record2)

Я могу добавить интерфейс к классу записей, используя стратегию matchers, со средствами доступа к общим полям, но мне все еще не хватает используемых методов attach () и store () в функции вставки. Есть ли способ сделать это?

1 Ответ

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

Просто определите ваш интерфейс следующим образом:

interface MyRecordInterface<R : UpdatableRecord<R>> : UpdatableRecord<R> {}
...