Запись:
long insert(@NonNull final Table<?> table,
@NonNull final Collection<Field<?>> columns,
@NonNull final Collection<Object> values) {
return dslContext
.insertInto(table)
.columns(columns)
.values(values)
.returning(table.field("ID")) // Replace with your field name case
.fetchOne()
.into(long.class);
}
Предполагается, что вы используете сгенерированный код, чьи сгенерированные Table
экземпляры реализуют Table.getIdentity()
. В качестве альтернативы, если вы не можете предоставить личность, вы можете написать:
long insert(@NonNull final Table<?> table,
@NonNull final Collection<Field<?>> columns,
@NonNull final Collection<Object> values) {
dslContext
.insertInto(table)
.columns(columns)
.values(values)
.execute();
return dslContext.lastID().longValue();
}