Можно ли выбрать все значения записи вместо того, чтобы выбирать каждое значение отдельно? - PullRequest
0 голосов
/ 27 сентября 2018

Мне нужно выбрать все значения записи.Я узнал, что можно выбирать каждое значение записи отдельно, используя функцию DSL.val().Допустим, у нас есть запись R со следующими свойствами: name: String, number: Int.Выбор каждого значения записи по отдельности будет выглядеть следующим образом:

R myRecord = new R()
ctx.select(val(myRecord.name), val(myRecord.number))

Как вы можете догадаться, это будет довольно утомительно, если у вас есть запись с 15 свойствами.

Это так?можно выбрать все значения записи вместо того, чтобы выбирать каждое значение отдельно?

Я представляю что-то вроде этого:

ctx.select(myRecord)

1 Ответ

0 голосов
/ 28 сентября 2018

Если вам не нужна безопасность типов, тогда вы можете использовать Record.valuesRow(). fields():

ctx.select(myRecord.valuesRow().fields());

Это дастSelect<Record>, чье количество столбцов неизвестно компилятору.Если вы предпочитаете использовать дополнительную безопасность типов, обеспечиваемую вашим конкретным типом записи R (я полагаю, например, Record2<String, Integer>), тогда вы можете использовать конструктор values() :

ctx.selectFrom(values(myRecord.valuesRow()));
...