diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java index c37d0f3000..81156947c0 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java @@ -593,6 +593,30 @@ public class JavaGenerator extends AbstractGenerator { out.tab(2).println("super(%s);", tableIdentifier); out.tab(1).println("}"); + List arguments = new ArrayList(); + for (int i = 0; i < degree; i++) { + final ColumnDefinition column = table.getColumn(i); + final String columnMember = getStrategy().getJavaMemberName(column, Mode.DEFAULT); + final String type = getJavaType(column.getType()); + + arguments.add(type + " " + columnMember); + } + + out.tab(1).javadoc("Create a detached, initialised %s", className); + out.tab(1).println("public %s([[%s]]) {", className, arguments); + out.tab(2).println("super(%s);", tableIdentifier); + out.println(); + + for (int i = 0; i < degree; i++) { + final ColumnDefinition column = table.getColumn(i); + final String columnMember = getStrategy().getJavaMemberName(column, Mode.DEFAULT); + + out.tab(2).println("setValue(%s, %s);", i, columnMember); + } + + out.tab(1).println("}"); + + out.println("}"); out.close(); } diff --git a/jOOQ-test/src/org/jooq/test/h2/generatedclasses/tables/records/TArraysRecord.java b/jOOQ-test/src/org/jooq/test/h2/generatedclasses/tables/records/TArraysRecord.java index 893035b474..892812766f 100644 --- a/jOOQ-test/src/org/jooq/test/h2/generatedclasses/tables/records/TArraysRecord.java +++ b/jOOQ-test/src/org/jooq/test/h2/generatedclasses/tables/records/TArraysRecord.java @@ -9,7 +9,7 @@ package org.jooq.test.h2.generatedclasses.tables.records; @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TArraysRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record4, org.jooq.test.h2.generatedclasses.tables.interfaces.ITArrays { - private static final long serialVersionUID = 849559824; + private static final long serialVersionUID = -712796983; /** * Setter for PUBLIC.T_ARRAYS.ID. @@ -205,4 +205,16 @@ public class TArraysRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record6, org.jooq.test.h2.generatedclasses.tables.interfaces.ITAuthor { - private static final long serialVersionUID = 227202504; + private static final long serialVersionUID = 271292686; /** * Setter for PUBLIC.T_AUTHOR.ID. The author ID @@ -273,4 +273,18 @@ public class TAuthorRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record11, org.jooq.test.h2.generatedclasses.tables.interfaces.ITBook { - private static final long serialVersionUID = -229971982; + private static final long serialVersionUID = 1585415183; /** * Setter for PUBLIC.T_BOOK.ID. The book ID @@ -438,4 +438,23 @@ public class TBookRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record1, org.jooq.test.h2.generatedclasses.tables.interfaces.ITBookStore { - private static final long serialVersionUID = 635247646; + private static final long serialVersionUID = -1518501267; /** * Setter for PUBLIC.T_BOOK_STORE.NAME. The books store name @@ -108,4 +108,13 @@ public class TBookStoreRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record3, org.jooq.test.h2.generatedclasses.tables.interfaces.ITBookToBookStore { - private static final long serialVersionUID = -323541388; + private static final long serialVersionUID = -1605512644; /** * Setter for PUBLIC.T_BOOK_TO_BOOK_STORE.BOOK_STORE_NAME. The book store name @@ -174,4 +174,15 @@ public class TBookToBookStoreRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record11, org.jooq.test.h2.generatedclasses.tables.interfaces.ITBooleans { - private static final long serialVersionUID = 1145782861; + private static final long serialVersionUID = 1089853964; /** * Setter for PUBLIC.T_BOOLEANS.ID. @@ -436,4 +436,23 @@ public class TBooleansRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record6, org.jooq.test.h2.generatedclasses.tables.interfaces.ITDates { - private static final long serialVersionUID = -1305645392; + private static final long serialVersionUID = -794475584; /** * Setter for PUBLIC.T_DATES.ID. @@ -271,4 +271,18 @@ public class TDatesRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.ITExoticTypes { - private static final long serialVersionUID = 458162961; + private static final long serialVersionUID = -359543066; /** * Setter for PUBLIC.T_EXOTIC_TYPES.ID. @@ -139,4 +139,14 @@ public class TExoticTypesRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.ITIdentityPk { - private static final long serialVersionUID = 386492603; + private static final long serialVersionUID = -1722345217; /** * Setter for PUBLIC.T_IDENTITY_PK.ID. @@ -139,4 +139,14 @@ public class TIdentityPkRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.ITIdentity { - private static final long serialVersionUID = -1690668656; + private static final long serialVersionUID = 1607817707; /** * Setter for PUBLIC.T_IDENTITY.ID. @@ -127,4 +127,14 @@ public class TIdentityRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record4, org.jooq.test.h2.generatedclasses.tables.interfaces.ITLanguage { - private static final long serialVersionUID = 453676031; + private static final long serialVersionUID = 1999808972; /** * Setter for PUBLIC.T_LANGUAGE.CD. The language ISO code @@ -207,4 +207,16 @@ public class TLanguageRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record3, org.jooq.test.h2.generatedclasses.tables.interfaces.ITTriggers { - private static final long serialVersionUID = -2112531208; + private static final long serialVersionUID = 1765460564; /** * Setter for PUBLIC.T_TRIGGERS.ID_GENERATED. @@ -172,4 +172,15 @@ public class TTriggersRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record4, org.jooq.test.h2.generatedclasses.tables.interfaces.ITUnsigned { - private static final long serialVersionUID = 1036458223; + private static final long serialVersionUID = 1141020265; /** * Setter for PUBLIC.T_UNSIGNED.U_BYTE. @@ -193,4 +193,16 @@ public class TUnsignedRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record1, org.jooq.test.h2.generatedclasses.tables.interfaces.IT_2327UkOnly { - private static final long serialVersionUID = -2140237883; + private static final long serialVersionUID = 512692899; /** * Setter for PUBLIC.T_2327_UK_ONLY.ID. @@ -94,4 +94,13 @@ public class T_2327UkOnlyRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record13, org.jooq.test.h2.generatedclasses.tables.interfaces.IT_639NumbersTable { - private static final long serialVersionUID = 1270187864; + private static final long serialVersionUID = -1053924033; /** * Setter for PUBLIC.T_639_NUMBERS_TABLE.ID. @@ -502,4 +502,25 @@ public class T_639NumbersTableRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IT_725LobTest { - private static final long serialVersionUID = -813187908; + private static final long serialVersionUID = 1052147072; /** * Setter for PUBLIC.T_725_LOB_TEST.ID. @@ -139,4 +139,14 @@ public class T_725LobTestRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record3, org.jooq.test.h2.generatedclasses.tables.interfaces.IT_785 { - private static final long serialVersionUID = 271505739; + private static final long serialVersionUID = 1107011078; /** * Setter for PUBLIC.T_785.ID. @@ -160,4 +160,15 @@ public class T_785Record extends org.jooq.impl.TableRecordImpl implements org.jooq.Record1, org.jooq.test.h2.generatedclasses.tables.interfaces.IT_877 { - private static final long serialVersionUID = 435014745; + private static final long serialVersionUID = -449374963; /** * Setter for PUBLIC.T_877.ID. @@ -94,4 +94,13 @@ public class T_877Record extends org.jooq.impl.TableRecordImpl implements org.jooq.Record6, org.jooq.test.h2.generatedclasses.tables.interfaces.IVAuthor { - private static final long serialVersionUID = -1623132741; + private static final long serialVersionUID = 364169215; /** * Setter for PUBLIC.V_AUTHOR.ID. @@ -259,4 +259,18 @@ public class VAuthorRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record11, org.jooq.test.h2.generatedclasses.tables.interfaces.IVBook { - private static final long serialVersionUID = -538722876; + private static final long serialVersionUID = 1802443557; /** * Setter for PUBLIC.V_BOOK.ID. @@ -424,4 +424,23 @@ public class VBookRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IVLibrary { - private static final long serialVersionUID = 840011685; + private static final long serialVersionUID = -1858323478; /** * Setter for PUBLIC.V_LIBRARY.AUTHOR. @@ -127,4 +127,14 @@ public class VLibraryRecord extends org.jooq.impl.TableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IV_2603 { - private static final long serialVersionUID = -764503475; + private static final long serialVersionUID = 892786247; /** * Setter for PUBLIC.V_2603.COL1. @@ -127,4 +127,14 @@ public class V_2603Record extends org.jooq.impl.TableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IXTestCase_2025 { - private static final long serialVersionUID = -1575459549; + private static final long serialVersionUID = -233301534; /** * Setter for PUBLIC.X_TEST_CASE_2025.REF_ID. @@ -127,4 +127,14 @@ public class XTestCase_2025Record extends org.jooq.impl.TableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IXTestCase_64_69 { - private static final long serialVersionUID = 1088177462; + private static final long serialVersionUID = 1368865158; /** * Setter for PUBLIC.X_TEST_CASE_64_69.ID. @@ -139,4 +139,14 @@ public class XTestCase_64_69Record extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record2, org.jooq.test.h2.generatedclasses.tables.interfaces.IXTestCase_71 { - private static final long serialVersionUID = -789789007; + private static final long serialVersionUID = 1463957767; /** * Setter for PUBLIC.X_TEST_CASE_71.ID. @@ -139,4 +139,14 @@ public class XTestCase_71Record extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record3, org.jooq.test.h2.generatedclasses.tables.interfaces.IXTestCase_85 { - private static final long serialVersionUID = -1638733534; + private static final long serialVersionUID = 491665498; /** * Setter for PUBLIC.X_TEST_CASE_85.ID. @@ -172,4 +172,15 @@ public class XTestCase_85Record extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record16, org.jooq.test.h2.generatedclasses.tables.interfaces.IXUnused { - private static final long serialVersionUID = 2057901947; + private static final long serialVersionUID = -481499938; /** * Setter for PUBLIC.X_UNUSED.ID. @@ -601,4 +601,28 @@ public class XUnusedRecord extends org.jooq.impl.UpdatableRecordImpl implements org.jooq.Record1, org.jooq.test.h2.generatedclasses.tables.interfaces.IÄä { - private static final long serialVersionUID = -48827083; + private static final long serialVersionUID = 1441755535; /** * Setter for PUBLIC.Ää.Öö. @@ -94,4 +94,13 @@ public class ÄäRecord extends org.jooq.impl.TableRecordImpl