- All Superinterfaces:
- Attachable,- Comparable<Record>,- Fields,- Formattable,- Serializable
- All Known Subinterfaces:
- EmbeddableRecord<R>,- QualifiedRecord<R>,- Record1<T1>,- Record10<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10> - Record11<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11> - Record12<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12> - Record13<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13> - Record14<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14> - Record15<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15> - Record16<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16> - Record17<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17> - Record18<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17, - T18> - Record19<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17, - T18, - T19> - Record2<T1,,- T2> - Record20<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17, - T18, - T19, - T20> - Record21<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17, - T18, - T19, - T20, - T21> - Record22<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9, - T10, - T11, - T12, - T13, - T14, - T15, - T16, - T17, - T18, - T19, - T20, - T21, - T22> - Record3<T1,,- T2, - T3> - Record4<T1,,- T2, - T3, - T4> - Record5<T1,,- T2, - T3, - T4, - T5> - Record6<T1,,- T2, - T3, - T4, - T5, - T6> - Record7<T1,,- T2, - T3, - T4, - T5, - T6, - T7> - Record8<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8> - Record9<T1,,- T2, - T3, - T4, - T5, - T6, - T7, - T8, - T9> - TableRecord<R>,- UDTRecord<R>,- UpdatableRecord<R>
- All Known Implementing Classes:
- CustomRecord,- DefaultBinding.SdoGeometryRecord,- DefaultBinding.SdoPointTypeRecord,- EmbeddableRecordImpl,- TableRecordImpl,- UDTRecordImpl,- UpdatableRecordImpl
 A record essentially combines a list of columns (Field) with a
 corresponding list of values, each value being of the respective field's
 type.
 
While records can be seen as generic column / value mappings, their concrete implementations often specialise the above description in any of the following ways:
Table records
 Records originating from a concrete database table (or view) are modelled by
 jOOQ as TableRecord or UpdatableRecord, if they contain a
 primary key. If you're using jOOQ's code generator, you can generate even
 more concrete types of table records, i.e. one table record per table.
 
UDT records
 SQLDialect.ORACLE and SQLDialect.POSTGRES formally support
 user defined types (UDT), which are modelled by jOOQ as UDTRecord. In
 addition to being regular records (column / value mappings), they also
 implement the JDBC SQLData API in order to be streamed to a JDBC
 PreparedStatement or from a JDBC ResultSet
 
Records of well-defined degree
 When projecting custom record types in SQL, new ad-hoc types of a certain
 degree are formed on the fly. Records with degree <= 22 are reflected by
 jOOQ through the Record1, Record2, ... Record22
 classes, which cover the respective row value expressions Row1,
 Row2, ... Row22
 
 Note that generated TableRecords and UDTRecords
 also implement a Record[N] interface, if N <= 22
 
Record implements Comparable
 jOOQ records have a natural ordering implemented in the same way as this is
 defined in the SQL standard. For more details, see the
 compareTo(Record) method.
 
Importing Record
 Starting from Java 14, the Record type conflicts with
 Record, which is always imported by default. According to
 Java Language Specification, this means that jOOQ's Record type
 can no longer be imported on demand. This is not sufficient:
 
 
 import org.jooq.*;
 
 
 You have to do this instead:
 
 
 import org.jooq.*;
 import org.jooq.Record;
 
 - Author:
- Lukas Eder
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionbooleanchanged()Deprecated, for removal: This API element is subject to removal in a future version.voidchanged(boolean changed) Deprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(boolean)instead.booleanchanged(int fieldIndex) Deprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(int)instead.voidchanged(int fieldIndex, boolean changed) Deprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(int, boolean)instead.booleanDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(String)instead.voidDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(String, boolean)instead.booleanDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Field)instead.voidDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Field, boolean)instead.booleanDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Name)instead.voidDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Name, boolean)instead.intCompares thisRecordwith anotherRecordaccording to their natural ordering.booleanCompare thisRecordwith anotherRecordfor equality.voidLoad data into this record from a source.voidLoad data into this record from a source, providing some field indexes.voidLoad data into this record from a source, providing some field names, usingFields.field(String)for lookup.voidLoad data into this record from a source, providing some fields, usingFields.field(Field)for lookup.voidLoad data into this record from a source, providing some field names, usingFields.field(Name)for lookup.voidLoad data from an array into this record.voidLoad data from an array into this record, providing some fields indexes.voidLoad data from an array into this record, providing some fields names, usingFields.field(String)for lookup.voidLoad data from an array into this record, providing some fields, usingFields.field(Field)for lookup.voidLoad data from an array into this record, providing some fields names, usingFields.field(Name)for lookup.voidLoad data from a map into this record, usingFields.field(String)for lookup.voidLoad data from a map into this record, providing some field indexes.voidLoad data from a map into this record, providing some field names, usingFields.field(String)for lookup.voidLoad data from a map into this record, providing some fields, usingFields.field(Field)for lookup.voidLoad data from a map into this record, providing some field names, usingFields.field(Name)for lookup.@Nullable Objectget(int index) Get a value from this record, providing a field index.<U> UGet a converted value from this record, providing a field index.<U> UGet a converted value from this record, providing a field index.@Nullable ObjectGet a value from this Record, providing a field name, usingFields.field(String)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.<U> UGet a converted value from this Record, providing a field, usingFields.field(Field)for lookup.<T> TGet a value from this Record, providing a field, usingFields.field(Field)for lookup.<T,U> U Get a converted value from this Record, providing a field, usingFields.field(Field)for lookup.@Nullable ObjectGet a value from this Record, providing a field name, usingFields.field(Name)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.getValue(int index) Get a value from this record, providing a field index.<T> TGet a converted value from this record, providing a field index.<U> UGet a converted value from this record, providing a field index.Get a value from this Record, providing a field name, usingFields.field(String)for lookup.<T> TGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.<T> TGet a converted value from this Record, providing a field, usingFields.field(Field)for lookup.<T> TGet a value from this Record, providing a field, usingFields.field(Field)for lookup.<T,U> U Get a converted value from this Record, providing a field, usingFields.field(Field)for lookup.Get a value from this Record, providing a field name, usingFields.field(Name)for lookup.<T> TGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.<U> UGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.inthashCode()Get a hash code of thisRecord, based on the underlying row value expression.<E> Einto(E object) Map resulting records onto a custom type.<E> EMap resulting records onto a custom type.@NotNull RecordCopy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1> @NotNull Record1<T1> Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2> @NotNull Record2 <T1, T2> Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3> 
 @NotNull Record3<T1, T2, T3> Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4> 
 @NotNull Record4<T1, T2, T3, T4> Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5> 
 @NotNull Record5<T1, T2, T3, T4, T5> Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6> 
 @NotNull Record6<T1, T2, T3, T4, T5, T6> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7> 
 @NotNull Record7<T1, T2, T3, T4, T5, T6, T7> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8> 
 @NotNull Record8<T1, T2, T3, T4, T5, T6, T7, T8> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9> 
 @NotNull Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10> 
 @NotNull Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> 
 @NotNull Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> 
 @NotNull Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> 
 @NotNull Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> 
 @NotNull Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> 
 @NotNull Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 
 @NotNull Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> 
 @NotNull Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> 
 @NotNull Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> 
 @NotNull Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> 
 @NotNull Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> 
 @NotNull Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<T1,T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> 
 @NotNull Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> into(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.<R extends Record>
 RMap resulting records onto a custom record type.@Nullable Object @NotNull []Convert this record into an array.intoList()Convert this record into a list.intoMap()Return this record as a name/value map.@NotNull ResultSetGenerate an in-memory JDBCResultSetcontaining the data of thisRecord.Convert this record into a stream.<E> Emap(RecordMapper<Record, E> mapper) Map this record into a custom mapper callback.booleanmodified()Check if this record has been modified since it was created or fetched from the database.booleanmodified(int fieldIndex) Check if a field's value has been modified since the record was created or fetched from the database, usingFields.field(int)for lookup.booleanCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(String)for lookup.booleanCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(Field)for lookup.booleanCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(Name)for lookup.@NotNull Recordoriginal()Get this record containing the original values as fetched from the database.@Nullable Objectoriginal(int fieldIndex) Get an original value from this record as fetched from the database.@Nullable ObjectGet an original value from this record as fetched from the database, usingFields.field(String)for lookup.<T> TGet an original value from this record as fetched from the database, usingFields.field(Field)for lookup.@Nullable ObjectGet an original value from this record as fetched from the database, usingFields.field(Name)for lookup.voidreset()voidreset(int fieldIndex) voidReset a given value to itsoriginal(String)value and itstouched(String)flag tofalse, usingFields.field(String)for lookup.voidReset a given value to itsoriginal(Field)value and itstouched(Field)flag tofalse, usingFields.field(Field)for lookup.voidReset a given value to itsoriginal(Name)value and itstouched(Name)flag tofalse, usingFields.field(Name)for lookup.<T> voidSet a value into this record, usingFields.field(Field)for lookup.<T,U> void Set a value into this record, usingFields.field(Field)for lookup.<T> voidSet a value into this record, usingFields.field(Field)for lookup.<T,U> void Set a value into this record, usingFields.field(Field)for lookup.intsize()Get the number of fields of this record.booleantouched()Check if this record has been touched since it was created or fetched from the database.voidtouched(boolean touched) Set all of this record's internal touched flags to the supplied value.booleantouched(int fieldIndex) Check if a field's value has been touched since the record was created or fetched from the database, usingFields.field(int)for lookup.voidtouched(int fieldIndex, boolean touched) Set this record's internal touched flag to the supplied value for a given field.booleanCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(String)for lookup.voidSet this record's internal touched flag to the supplied value for a given field, usingFields.field(String)for lookup.booleanCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(Field)for lookup.voidSet this record's internal touched flag to the supplied value for a given field, usingFields.field(Field)for lookup.booleanCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(Name)for lookup.voidSet this record's internal touched flag to the supplied value for a given field, usingFields.field(Name)for lookup.@NotNull RowGet this record's values as aRow.<T> @NotNull RecordSet a value into this record, usingFields.field(Field)for lookup.<T,U> @NotNull Record Set a value into this record, usingFields.field(Field)for lookup.Methods inherited from interface org.jooq.Attachableattach, configuration, detachMethods inherited from interface org.jooq.FieldsdataType, dataType, dataType, dataTypes, field, field, field, field, field, field, field, field, field, field, fields, fields, fields, fields, fields, fieldsIncludingHidden, fieldsRow, fieldStream, indexOf, indexOf, indexOf, type, type, type, typesMethods inherited from interface org.jooq.Formattableformat, format, format, format, format, format, format, format, format, formatChart, formatChart, formatChart, formatChart, formatChart, formatChart, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatCSV, formatHTML, formatHTML, formatHTML, formatInsert, formatInsert, formatInsert, formatInsert, formatInsert, formatInsert, formatJSON, formatJSON, formatJSON, formatJSON, formatJSON, formatJSON, formatXML, formatXML, formatXML, formatXML, formatXML, formatXML, intoXML, intoXML, intoXML, intoXML
- 
Method Details- 
valuesRowGet this record's values as aRow.
- 
getGet a value from this Record, providing a field, usingFields.field(Field)for lookup.If this record contains a field with the same Field.getName()as the argument field, that value is retrieved.- Type Parameters:
- T- The generic field parameter
- Parameters:
- field- The field
- Returns:
- The value of a field contained in this record
- Throws:
- IllegalArgumentException- If the argument field is not contained in- Fields.fieldsRow()
 
- 
get<U> U get(Field<?> field, Class<? extends U> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field, usingFields.field(Field)for lookup.The Converterthat is provided byConfiguration.converterProvider()will be used to convert the value toUIf this record contains a field with the same Field.getName()as the argument field, that value is retrieved.- Type Parameters:
- U- The conversion type parameter
- Parameters:
- field- The field
- type- The conversion type
- Returns:
- The value of a field contained in this record
- Throws:
- IllegalArgumentException- If the argument field is not contained in- Fields.fieldsRow()
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
get<T,U> U get(Field<T> field, Converter<? super T, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field, usingFields.field(Field)for lookup.If this record contains a field with the same Field.getName()as the argument field, that value is retrieved.- Type Parameters:
- T- The database type parameter
- U- The conversion type parameter
- Parameters:
- field- The field
- converter- The data type converter
- Returns:
- The value of a field contained in this record
- Throws:
- IllegalArgumentException- If the argument field is not contained in- Fields.fieldsRow()
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
getGet a value from this Record, providing a field name, usingFields.field(String)for lookup.- Parameters:
- fieldName- The field's name
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
 
- 
get<U> U get(String fieldName, Class<? extends U> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field name, usingFields.field(String)for lookup.The Converterthat is provided byConfiguration.converterProvider()will be used to convert the value toU- Type Parameters:
- U- The conversion type parameter
- Parameters:
- fieldName- The field's name
- type- The conversion type
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
get<U> U get(String fieldName, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.- Type Parameters:
- U- The conversion type parameter
- Parameters:
- fieldName- The field's name
- converter- The data type converter
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
getGet a value from this Record, providing a field name, usingFields.field(Name)for lookup.- Parameters:
- fieldName- The field's name
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
 
- 
get<U> U get(Name fieldName, Class<? extends U> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.The Converterthat is provided byConfiguration.converterProvider()will be used to convert the value toU- Type Parameters:
- U- The conversion type parameter
- Parameters:
- fieldName- The field's name
- type- The conversion type
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
get<U> U get(Name fieldName, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.- Type Parameters:
- U- The conversion type parameter
- Parameters:
- fieldName- The field's name
- converter- The data type converter
- Returns:
- The value of a field's name contained in this record
- Throws:
- IllegalArgumentException- If the argument fieldName is not contained in the record
- DataTypeException- wrapping any data type conversion exception that might have occurred
 
- 
getGet a value from this record, providing a field index.- Parameters:
- index- The 0-based field index in this record.
- Returns:
- The value of a field's index contained in this record
- Throws:
- IllegalArgumentException- If the argument index is not contained in the record
 
- 
getGet a converted value from this record, providing a field index.The Converterthat is provided byConfiguration.converterProvider()will be used to convert the value toU- Type Parameters:
- U- The conversion type parameter
- Parameters:
- index- The 0-based field index in this record.
- type- The conversion type
- Returns:
- The value of a field's index contained in this record
- Throws:
- IllegalArgumentException- If the argument index is not contained in the record
- DataTypeException- wrapping data type conversion exception that might have occurred
 
- 
get<U> U get(int index, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this record, providing a field index.- Type Parameters:
- U- The conversion type parameter
- Parameters:
- index- The 0-based field index in this record.
- converter- The data type converter
- Returns:
- The value of a field's index contained in this record
- Throws:
- IllegalArgumentException- If the argument index is not contained in the record
- DataTypeException- wrapping data type conversion exception that might have occurred
 
- 
setSet a value into this record, usingFields.field(Field)for lookup.This will always set the touched(Field)flag for the givenfield, no matter if setting the value actually changes the value.Changing Table.getPrimaryKey()values will set alltouched()flags to true, in order to produce completeINSERTstatements on subsequentUpdatableRecord.store()operations.- Type Parameters:
- T- The generic field parameter
- Parameters:
- field- The field
- value- The value
 
- 
setSet a value into this record, usingFields.field(Field)for lookup.This will always set the touched(Field)flag for the givenfield, no matter if setting the value actually changes the value.Changing Table.getPrimaryKey()values will set alltouched()flags to true, in order to produce completeINSERTstatements on subsequentUpdatableRecord.store()operations.- Type Parameters:
- T- The generic field parameter
- U- The conversion type parameter
- Parameters:
- field- The field
- value- The value
- converter- The converter used to convert- valueinto an appropriate type
 
- 
withSet a value into this record, usingFields.field(Field)for lookup.Like set(Field, Object)but returningthisfor fluent setting of multiple values.
- 
with@NotNull <T,U> @NotNull Record with(Field<T> field, U value, Converter<? extends T, ? super U> converter) Set a value into this record, usingFields.field(Field)for lookup.Like set(Field, Object, Converter)but returningthisfor fluent setting of multiple values.
- 
sizeint size()Get the number of fields of this record.
- 
originalGet this record containing the original values as fetched from the database.Record values can be freely modified after having fetched a record from the database. Every record also references the originally fetched values. This method returns a new record containing those original values. - See Also:
 
- 
originalGet an original value from this record as fetched from the database, usingFields.field(Field)for lookup.Record values can be freely modified after having fetched a record from the database. Every record also references the originally fetched values. This method returns such an original value for a field. - See Also:
 
- 
originalGet an original value from this record as fetched from the database.Record values can be freely modified after having fetched a record from the database. Every record also references the originally fetched values. This method returns such an original value for a field. - Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
originalGet an original value from this record as fetched from the database, usingFields.field(String)for lookup.Record values can be freely modified after having fetched a record from the database. Every record also references the originally fetched values. This method returns such an original value for a field. - See Also:
 
- 
originalGet an original value from this record as fetched from the database, usingFields.field(Name)for lookup.Record values can be freely modified after having fetched a record from the database. Every record also references the originally fetched values. This method returns such an original value for a field. - See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched()instead.Check if this record has been changed from its original as fetched from the database.If this returns false, then it can be said thatrecord.equals(record.original())is true.- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Field)instead.Check if a field's value has been changed from its original as fetched from the database, usingFields.field(Field)for lookup.- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(int)instead.Check if a field's value has been changed from its original as fetched from the database.- Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(String)instead.Check if a field's value has been changed from its original as fetched from the database, usingFields.field(String)for lookup.- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Name)instead.Check if a field's value has been changed from its original as fetched from the database, usingFields.field(Name)for lookup.- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(boolean)instead.Set all of this record's internal changed flags to the supplied value.If the changedargument isfalse, theoriginal()values will be reset to the corresponding "current" values as well- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Field, boolean)instead.Set this record's internal changed flag to the supplied value for a given field, usingFields.field(Field)for lookup.If the changedargument isfalse, theoriginal(Field)value will be reset to the corresponding "current" value as well- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(int, boolean)instead.Set this record's internal changed flag to the supplied value for a given field.If the changedargument isfalse, theoriginal(int)value will be reset to the corresponding "current" value as well- Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(String, boolean)instead.Set this record's internal changed flag to the supplied value for a given field, usingFields.field(String)for lookup.If the changedargument isfalse, theoriginal(String)value will be reset to the corresponding "current" value as well- See Also:
 
- 
changedDeprecated, for removal: This API element is subject to removal in a future version.- [#12494] - 3.20.0 - Usetouched(Name, boolean)instead.Set this record's internal changed flag to the supplied value for a given field, usingFields.field(Name)for lookup.If the changedargument isfalse, theoriginal(Name)value will be reset to the corresponding "current" value as well- See Also:
 
- 
touchedboolean touched()Check if this record has been touched since it was created or fetched from the database.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(Field)for lookup.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedboolean touched(int fieldIndex) Check if a field's value has been touched since the record was created or fetched from the database, usingFields.field(int)for lookup.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
touchedCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(String)for lookup.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedCheck if a field's value has been touched since the record was created or fetched from the database, usingFields.field(Name)for lookup.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedvoid touched(boolean touched) Set all of this record's internal touched flags to the supplied value.If the touchedargument isfalse, theoriginal()values will be reset to the corresponding "current" values as well.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedSet this record's internal touched flag to the supplied value for a given field, usingFields.field(Field)for lookup.If the touchedargument isfalse, theoriginal(Field)value will be reset to the corresponding "current" value as well.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedvoid touched(int fieldIndex, boolean touched) Set this record's internal touched flag to the supplied value for a given field.If the touchedargument isfalse, theoriginal(int)value will be reset to the corresponding "current" value as well.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
touchedSet this record's internal touched flag to the supplied value for a given field, usingFields.field(String)for lookup.If the touchedargument isfalse, thetouched(String)value will be reset to the corresponding "current" value as well.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
touchedSet this record's internal touched flag to the supplied value for a given field, usingFields.field(Name)for lookup.If the touchedargument isfalse, theoriginal(Name)value will be reset to the corresponding "current" value as well.A record may have been touched()(a setter was called) without having beenmodified()(a value was changed).- See Also:
 
- 
modifiedboolean modified()Check if this record has been modified since it was created or fetched from the database.When a record is modified(), then it has always beentouched()as well. Unlike thetouched()property, this property cannot be set and is derived only from the comparison between this record and theoriginal()record.- See Also:
 
- 
modifiedCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(Field)for lookup.When a record is modified(), then it has always beentouched()as well. Unlike thetouched(Field)property, this property cannot be set and is derived only from the comparison between #get(Field) andoriginal(Field)values.- See Also:
 
- 
modifiedboolean modified(int fieldIndex) Check if a field's value has been modified since the record was created or fetched from the database, usingFields.field(int)for lookup.When a record is modified(), then it has always beentouched()as well. Unlike thetouched(int)property, this property cannot be set and is derived only from the comparison between #get(int) andoriginal(int)values.- Parameters:
- fieldIndex- The 0-based field index in this record.
- See Also:
 
- 
modifiedCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(String)for lookup.When a record is modified(), then it has always beentouched()as well. Unlike thetouched(String)property, this property cannot be set and is derived only from the comparison between #get(String) andoriginal(String)values.- See Also:
 
- 
modifiedCheck if a field's value has been modified since the record was created or fetched from the database, usingFields.field(Name)for lookup.When a record is modified(), then it has always beentouched()as well. Unlike thetouched(Name)property, this property cannot be set and is derived only from the comparison between #get(Name) andoriginal(Name)values.- See Also:
 
- 
resetvoid reset()
- 
resetReset a given value to itsoriginal(Field)value and itstouched(Field)flag tofalse, usingFields.field(Field)for lookup.
- 
resetvoid reset(int fieldIndex) - Parameters:
- fieldIndex- The 0-based field index in this record.
 
- 
resetReset a given value to itsoriginal(String)value and itstouched(String)flag tofalse, usingFields.field(String)for lookup.
- 
resetReset a given value to itsoriginal(Name)value and itstouched(Name)flag tofalse, usingFields.field(Name)for lookup.
- 
intoArrayConvert this record into an array.The resulting array has the same number of elements as this record has fields. The resulting array contains data as such: // For arbitrary values of i record.getValue(i) == record.intoArray()[i]This is the same as calling into(Object[].class)- Returns:
- This record as an array
- See Also:
 
- 
intoListConvert this record into a list.The resulting list has the same number of elements as this record has fields. The resulting array contains data as such: // For arbitrary values of i record.getValue(i) == record.intoList().get(i)This is the same as calling Arrays.asList(intoArray())
- 
intoStreamConvert this record into a stream.The resulting stream has the same number of elements as this record has fields. The resulting stream contains data as such: This is the same as calling into(Stream.class)- Returns:
- This record as a stream
 
- 
intoMapReturn this record as a name/value map.This is the inverse operation to fromMap(Map)- Returns:
- This record as a map
- See Also:
 
- 
intoCopy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Parameters:
- fields- The fields of the new record
- Returns:
- The new record
 
- 
intoCopy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
intoCopy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record3<T1,T3> T2, intoT3> (Field<T1> field1, Field<T2> field2, Field<T3> field3) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record4<T1,T3, T4> T2, intoT3, T4> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record5<T1,T3, T4, T5> T2, intoT3, T4, T5> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record6<T1,T3, T4, T5, T6> T2, intoT3, T4, T5, T6> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record7<T1,T3, T4, T5, T6, T7> T2, intoT3, T4, T5, T6, T7> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record8<T1,T3, T4, T5, T6, T7, T8> T2, intoT3, T4, T5, T6, T7, T8> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record9<T1,T3, T4, T5, T6, T7, T8, T9> T2, intoT3, T4, T5, T6, T7, T8, T9> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record10<T1,T3, T4, T5, T6, T7, T8, T9, T10> T2, intoT3, T4, T5, T6, T7, T8, T9, T10> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record11<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record12<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record13<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record14<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record15<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record16<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record17<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record18<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record19<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record20<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record21<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
into@NotNull <T1,T2, @NotNull Record22<T1,T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> T2, intoT3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> (Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22) Copy this record into a new record holding only a subset of the previous fields, usingFields.field(Field)for lookup.- Returns:
- The new record
- See Also:
 
- 
intoMap resulting records onto a custom type.This will map this record onto your custom type using a RecordMapperas provided byConfiguration.recordMapperProvider(). If no custom provider is specified, theDefaultRecordMapperProvideris used.- Type Parameters:
- E- The generic entity type.
- Parameters:
- type- The entity type.
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- 
intoMap resulting records onto a custom type.This is the same as into(Class), except that no new object is instantiated as a result. Instead, you can provide your own custom POJO, array, record, etc. instance.- Type Parameters:
- E- The generic entity type.
- Parameters:
- object- The receiving POJO, array, record, etc.
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- NullPointerException- if- objectis- null
- See Also:
 
- 
intoMap resulting records onto a custom record type.The mapping algorithm is this: jOOQ will mapRecordvalues by equal field names:- For every field in the tableargument withField.getName()"MY_field"(case-sensitive!), a corresponding field with the same name in this record will be searched.
- If several fields in this record share the same
 Field.getName(), then the first one returning true onField.equals(Object)will be returned. (e.g. qualified field names match)
 Other restrictions- RecordQualifier.getRecordType()must return a class of type- TableRecord, which must provide a default constructor. Non-public default constructors are made accessible using- Constructor.setAccessible(boolean)
 - Type Parameters:
- R- The generic table record type.
- Parameters:
- table- The table type.
 
- For every field in the 
- 
intoResultSetGenerate an in-memory JDBCResultSetcontaining the data of thisRecord.Use this as an adapter for JDBC-compliant code that expects a ResultSetto operate on, rather than a jOOQResult. The returnedResultSetallows for the following behaviour according to the JDBC specification:- ResultSet.CLOSE_CURSORS_AT_COMMIT: The cursors (i.e.- Statementobject) are no longer available
- ResultSet.CONCUR_READ_ONLY: You cannot update the database through this- ResultSet, as the underlying- Resultobject does not hold any open database refences anymore
- ResultSet.FETCH_FORWARD: The fetch direction is forward only, and cannot be changed
- ResultSet.TYPE_SCROLL_INSENSITIVE: You can use any of the- ResultSet's scrolling methods, e.g.- ResultSet.next()or- ResultSet.previous(), etc.
 You may use DSLContext.fetch(ResultSet)to unwind this wrapper again.This is the same as creating a new Resultwith thisRecordonly, and then callingResult.intoResultSet()on thatResult- Returns:
- A wrapper JDBC ResultSet
 
- 
mapMap this record into a custom mapper callback.- Parameters:
- mapper- The mapper callback
- Returns:
- The custom mapped record
 
- 
fromLoad data into this record from a source.The mapping algorithm is this: Ifsourceis anarrayLoading of data is delegated to fromArray(Object...)Ifsourceis aMapLoading of data is delegated to fromMap(Map)Ifsourceis anIterableLoading of data is equivalent to loading fromArray(Object...), transforming theIterableto an array, first.If any JPAannotations are found on theinvalid referencejakarta.persistence.ColumnClassof the providedsource, only those are used (assuming thejOOQ-jpa-extensionsmodule is on the classpath andConfiguration.annotatedPojoMemberProvider()configures it. Matching candidates are:- Public no-argument instance methods annotated with
 jakarta.persistence.Column
- Public no-argument instance methods starting with getXXXorisXXX, if there exists a matching public single-argumentsetXXX()instance method that is annotated withjakarta.persistence.Column
- Public instance member fields annotated with
 jakarta.persistence.Column
 - 
must matchinvalid referencejakarta.persistence.Column#name()Field.getName(). All other annotation attributes are ignored
- Only the first match per field is used
- Matching methods have a higher priority than matching member fields
- Explicitly matching methods have a higher priority than implicitly matching methods (implicitly matching getter = setter is annotated)
- Static methods / member fields are ignored
 If there are no JPAjakarta.persistence.Columnannotations, or jOOQ can't find thejakarta.persistenceAPI on the classpath, jOOQ will map members by naming convention:If Field.getName()isMY_field(case-sensitive!), then this field's value will be fetched from the first of these:- Public no-argument instance method MY_field()
- Public no-argument instance method myField()
- Public no-argument instance method getMY_field()
- Public no-argument instance method getMyField()
- Public instance member field MY_field
- Public instance member field myField
 Other restrictions- primitive types are supported.
 General notesThe resulting record will have its internal "touched" flags set to true for all values. This means that UpdatableRecord.store()will perform anINSERTstatement. If you wish to store the record using anUPDATEstatement, useDSLContext.executeUpdate(UpdatableRecord)instead.This is the same as calling record.from(source, record.fields())- Parameters:
- source- The source object to copy data from
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- Public no-argument instance methods annotated with
 
- 
fromLoad data into this record from a source, providing some fields, usingFields.field(Field)for lookup.This is the same as from(Object), except that only fields contained in thefieldsargument will be mapped.- Parameters:
- source- The source object to copy data from
- fields- The record's fields to use for mapping
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- 
fromLoad data into this record from a source, providing some field names, usingFields.field(String)for lookup.This is the same as from(Object), except that only fields contained in thefieldNamesargument will be mapped.- Parameters:
- source- The source object to copy data from
- fieldNames- The record's fields names to use for mapping
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- 
fromLoad data into this record from a source, providing some field names, usingFields.field(Name)for lookup.This is the same as from(Object), except that only fields contained in thefieldNamesargument will be mapped.- Parameters:
- source- The source object to copy data from
- fieldNames- The record's fields names to use for mapping
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- 
fromLoad data into this record from a source, providing some field indexes.This is the same as from(Object), except that only fields contained in thefieldIndexesargument will be mapped.- Parameters:
- source- The source object to copy data from
- fieldIndexes- The record's 0-based field indexes to use for mapping
- Throws:
- MappingException- wrapping any reflection exception that might have occurred while mapping records
- See Also:
 
- 
fromMapLoad data from a map into this record, usingFields.field(String)for lookup.The argument map is expected to hold field-name / value pairs where field-names correspond to actual field names as provided by Fields.field(String). Missing fields will be left untouched. Excess fields will be ignored.This is the inverse operation to intoMap(). This is the same as callingrecord.fromMap(map, record.fields())- See Also:
 
- 
fromMapLoad data from a map into this record, providing some fields, usingFields.field(Field)for lookup.The argument map is expected to hold field-name / value pairs where field-names correspond to actual field names as provided by Fields.field(String). Missing fields will be left untouched. Excess fields will be ignored.This is the same as fromMap(Map), except that only fields contained in thefieldsargument will be mapped.- See Also:
 
- 
fromMapLoad data from a map into this record, providing some field names, usingFields.field(String)for lookup.The argument map is expected to hold field-name / value pairs where field-names correspond to actual field names as provided by Fields.field(String). Missing fields will be left untouched. Excess fields will be ignored.This is the same as fromMap(Map), except that only fields contained in thefieldNamesargument will be mapped.- See Also:
 
- 
fromMapLoad data from a map into this record, providing some field names, usingFields.field(Name)for lookup.The argument map is expected to hold field-name / value pairs where field-names correspond to actual field names as provided by Fields.field(Name). Missing fields will be left untouched. Excess fields will be ignored.This is the same as fromMap(Map), except that only fields contained in thefieldNamesargument will be mapped.- See Also:
 
- 
fromMapLoad data from a map into this record, providing some field indexes.The argument map is expected to hold field-name / value pairs where field-names correspond to actual field names as provided by Fields.field(String). Missing fields will be left untouched. Excess fields will be ignored.This is the same as fromMap(Map), except that only fields contained in thefieldIndexesargument will be mapped.- Parameters:
- fieldIndexes- The 0-based field indexes in this record.
- See Also:
 
- 
fromArrayLoad data from an array into this record.The argument array is expected to hold values for this record's field indexes. Missing values will be left untouched. Excess values will be ignored. This is the inverse operation to intoArray()- See Also:
 
- 
fromArrayLoad data from an array into this record, providing some fields, usingFields.field(Field)for lookup.The argument array is expected to hold values for this record's field indexes. Missing values will be left untouched. Excess values will be ignored. This is the same as fromArray(Object...), except that only fields contained in thefieldsargument will be mapped.- See Also:
 
- 
fromArrayLoad data from an array into this record, providing some fields names, usingFields.field(String)for lookup.The argument array is expected to hold values for this record's field indexes. Missing values will be left untouched. Excess values will be ignored. This is the same as fromArray(Object...), except that only fields contained in thefieldNamesargument will be mapped.- See Also:
 
- 
fromArrayLoad data from an array into this record, providing some fields names, usingFields.field(Name)for lookup.The argument array is expected to hold values for this record's field indexes. Missing values will be left untouched. Excess values will be ignored. This is the same as fromArray(Object...), except that only fields contained in thefieldNamesargument will be mapped.- See Also:
 
- 
fromArrayLoad data from an array into this record, providing some fields indexes.The argument array is expected to hold values for this record's field indexes. Missing values will be left untouched. Excess values will be ignored. This is the same as fromArray(Object...), except that only fields contained in thefieldIndexesargument will be mapped.- Parameters:
- fieldIndexes- The 0-based field indexes in this record.
- See Also:
 
- 
hashCodeint hashCode()Get a hash code of thisRecord, based on the underlying row value expression.In order to fulfill the general contract of Object.hashCode()andObject.equals(Object), aRecord's hash code value depends on all hash code values of thisRecord's underlying column values.
- 
equalsCompare thisRecordwith anotherRecordfor equality.Two records are considered equal if - They have the same degree
- For every i BETWEEN 0 AND degree, r1[i] = r2[i]
 Note, that the above rules correspond to the SQL comparison predicate behaviour as illustrated in the following example: -- A row value expression comparison predicate SELECT * FROM my_table WHERE (1, 'A') = (1, 'A')Unlike SQL, jOOQ allows to compare also incompatible records, e.g. records - ... whose degrees are not equal (results in false)
- ... whose column types are not equal (results in
 false)
- ... whose record types are not equal (irrelevant for the result)
 It can be said that for all R1, R2, if R1.equal(R2), thenR1.compareTo(R2) == 0
- 
compareToCompares thisRecordwith anotherRecordaccording to their natural ordering.jOOQ Records implement Comparableto allow for naturally ordering Records in a "SQL way", i.e. according to the following rules:Records being compared must have the same ROW typeTwo Records are comparable if and only if they have the same ROWtype, i.e. if theirfieldsRow()methods return fields of the same type and degree.Comparison rulesAssume the following notations: - X[i]means- X.getValue(i)
- X = Ymeans- X.compareTo(Y) == 0
- X < Ymeans- X.compareTo(Y) < 0
- X[i] = Y[i]means- (X[i] == null && Y[i] == null) || X[i].compareTo(Y[i]) == 0
- X[i] < Y[i]means- Y[i] == null || X[i].compareTo(Y[i]) < 0. This corresponds to the SQL- NULLS LASTclause.
 r1andr2,x = r1.compareTo(r2)yields:- x = -1: if- (r1[0] < r2[0]) OR (r1[0] = r2[0] AND r1[1] < r2[1]) OR ... OR (r1[0] = r2[0] AND ... AND r1[N-1] = r2[N-1] AND r1[N] < r2[N])
- x = 0: if- OR (r1[0] = r2[0] AND ... AND r1[N-1] = r2[N-1] AND r1[N] = r2[N])
- x = 1: if- (r1[0] > r2[0]) OR (r1[0] = r2[0] AND r1[1] > r2[1]) OR ... OR (r1[0] = r2[0] AND ... AND r1[N-1] = r2[N-1] AND r1[N] > r2[N])
 Note, that the above rules correspond to the SQL ordering behaviour as illustrated in the following examples: -- A SQL ORDER BY clause, ordering all records by columns in their order SELECT a, b, c FROM my_table ORDER BY 1, 2, 3 -- A row value expression comparison predicate SELECT * FROM my_table WHERE (a, b, c) < (1, 2, 3)See Row1.lessThan(Row1),Row2.lessThan(Row2), ...,Row22.lessThan(Row22)for more details about row value expression comparison predicatesAlternative sorting behaviour can be achieved through Result.sortAsc(java.util.Comparator)and similar methods.- Specified by:
- compareToin interface- Comparable<Record>
- Throws:
- NullPointerException- If the argument record is- null
- ClassCastException- If the argument record is not comparable with this record according to the above rules.
 
- 
getValueGet a value from this Record, providing a field, usingFields.field(Field)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(Field)instead.- Throws:
- IllegalArgumentException
- See Also:
 
- 
getValue<T> T getValue(Field<?> field, Class<? extends T> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field, usingFields.field(Field)for lookup.[#2211] Future versions of jOOQ might remove tthis method. It is recommended to use get(Field, Class)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValue<T,U> U getValue(Field<T> field, Converter<? super T, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field, usingFields.field(Field)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(Field, Converter)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValueGet a value from this Record, providing a field name, usingFields.field(String)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(String)instead.- Throws:
- IllegalArgumentException
- See Also:
 
- 
getValue<T> T getValue(String fieldName, Class<? extends T> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field name, usingFields.field(String)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(String, Class)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValue<U> U getValue(String fieldName, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field name, usingFields.field(String)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(String, Converter)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValueGet a value from this Record, providing a field name, usingFields.field(Name)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(Name)instead.- Throws:
- IllegalArgumentException
- See Also:
 
- 
getValue<T> T getValue(Name fieldName, Class<? extends T> type) throws IllegalArgumentException, DataTypeException Get a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(Name, Class)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValue<U> U getValue(Name fieldName, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this Record, providing a field name, usingFields.field(Name)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(Name, Converter)instead.- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValueGet a value from this record, providing a field index.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(int)instead.- Parameters:
- index- The 0-based field index in this record.
- Throws:
- IllegalArgumentException
- See Also:
 
- 
getValue<T> T getValue(int index, Class<? extends T> type) throws IllegalArgumentException, DataTypeException Get a converted value from this record, providing a field index.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(int, Class)instead.- Parameters:
- index- The 0-based field index in this record.
- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
getValue<U> U getValue(int index, Converter<?, ? extends U> converter) throws IllegalArgumentException, DataTypeExceptionGet a converted value from this record, providing a field index.[#2211] Future versions of jOOQ might remove this method. It is recommended to use get(int, Converter)instead.- Parameters:
- index- The 0-based field index in this record.
- Throws:
- IllegalArgumentException
- DataTypeException
- See Also:
 
- 
setValueSet a value into this record, usingFields.field(Field)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use set(Field, Object)instead.- See Also:
 
- 
setValueSet a value into this record, usingFields.field(Field)for lookup.[#2211] Future versions of jOOQ might remove this method. It is recommended to use set(Field, Object, Converter)instead.- See Also:
 
 
- 
touched()instead.