public static TableDefinition buildENGINETable() {
    // CREATE TABLE JPA_OR_ENGINE (ID NUMBER(10) NOT NULL, SERIALNUMBER NUMBER(19) NULL, PRIMARY KEY
    // (ID))
    TableDefinition table = new TableDefinition();
    table.setName("JPA_OR_ENGINE");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    FieldDefinition fieldSERIALNUMBER = new FieldDefinition();
    fieldSERIALNUMBER.setName("SERIALNUMBER");
    fieldSERIALNUMBER.setTypeName("NUMERIC");
    fieldSERIALNUMBER.setSize(18);
    fieldSERIALNUMBER.setSubSize(0);
    fieldSERIALNUMBER.setIsPrimaryKey(false);
    fieldSERIALNUMBER.setIsIdentity(false);
    fieldSERIALNUMBER.setShouldAllowNull(true);
    fieldSERIALNUMBER.setUnique(false);
    table.addField(fieldSERIALNUMBER);

    return table;
  }
  public TableDefinition buildCHILDNAMTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CHILDNAM");

    FieldDefinition fieldHOLDER_ID = new FieldDefinition();
    fieldHOLDER_ID.setName("HOLDER_ID");
    fieldHOLDER_ID.setTypeName("NUMBER");
    fieldHOLDER_ID.setSize(18);
    fieldHOLDER_ID.setSubSize(0);
    fieldHOLDER_ID.setIsPrimaryKey(true);
    fieldHOLDER_ID.setIsIdentity(false);
    fieldHOLDER_ID.setUnique(false);
    fieldHOLDER_ID.setShouldAllowNull(false);
    table.addField(fieldHOLDER_ID);

    FieldDefinition fieldCHILD_NAME = new FieldDefinition();
    fieldCHILD_NAME.setName("CHILD_NAME");
    fieldCHILD_NAME.setTypeName("VARCHAR2");
    fieldCHILD_NAME.setSize(30);
    fieldCHILD_NAME.setSubSize(0);
    fieldCHILD_NAME.setIsPrimaryKey(true);
    fieldCHILD_NAME.setIsIdentity(false);
    fieldCHILD_NAME.setUnique(false);
    fieldCHILD_NAME.setShouldAllowNull(false);
    table.addField(fieldCHILD_NAME);

    ForeignKeyConstraint foreignKeyFK_CHILDNAM_HOLDER_ID = new ForeignKeyConstraint();
    foreignKeyFK_CHILDNAM_HOLDER_ID.setName("CHILD_HOLDER");
    foreignKeyFK_CHILDNAM_HOLDER_ID.setTargetTable("HOLDER");
    foreignKeyFK_CHILDNAM_HOLDER_ID.addSourceField("HOLDER_ID");
    foreignKeyFK_CHILDNAM_HOLDER_ID.addTargetField("SSN");
    table.addForeignKeyConstraint(foreignKeyFK_CHILDNAM_HOLDER_ID);

    return table;
  }
  public TableDefinition buildAboutToInsertSingleTable() {
    TableDefinition table = new TableDefinition();
    table.setName("AboutToInsertSingle");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(28);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(false);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldNUMBER = new FieldDefinition();
    fieldNUMBER.setName("EXTRA_NUMBER");
    fieldNUMBER.setTypeName("NUMERIC");
    fieldNUMBER.setSize(28);
    fieldNUMBER.setSubSize(0);
    fieldNUMBER.setIsPrimaryKey(false);
    fieldNUMBER.setIsIdentity(false);
    fieldNUMBER.setUnique(false);
    fieldNUMBER.setShouldAllowNull(true);
    table.addField(fieldNUMBER);

    return table;
  }
  public TableDefinition buildVHCL_POLTable() {
    TableDefinition table = new TableDefinition();
    table.setName("VHCL_POL");

    FieldDefinition fieldPOL_ID = new FieldDefinition();
    fieldPOL_ID.setName("POL_ID");
    fieldPOL_ID.setTypeName("NUMBER");
    fieldPOL_ID.setSize(18);
    fieldPOL_ID.setSubSize(0);
    fieldPOL_ID.setIsPrimaryKey(true);
    fieldPOL_ID.setIsIdentity(false);
    fieldPOL_ID.setUnique(false);
    fieldPOL_ID.setShouldAllowNull(false);
    table.addField(fieldPOL_ID);

    FieldDefinition fieldMODEL = new FieldDefinition();
    fieldMODEL.setName("MODEL");
    fieldMODEL.setTypeName("VARCHAR2");
    fieldMODEL.setSize(30);
    fieldMODEL.setSubSize(0);
    fieldMODEL.setIsPrimaryKey(false);
    fieldMODEL.setIsIdentity(false);
    fieldMODEL.setUnique(false);
    fieldMODEL.setShouldAllowNull(true);
    table.addField(fieldMODEL);

    ForeignKeyConstraint foreignKeyFK_VHCL_POL_POL_ID = new ForeignKeyConstraint();
    foreignKeyFK_VHCL_POL_POL_ID.setName("VHCL_POL_POLICY");
    foreignKeyFK_VHCL_POL_POL_ID.setTargetTable("POLICY");
    foreignKeyFK_VHCL_POL_POL_ID.addSourceField("POL_ID");
    foreignKeyFK_VHCL_POL_POL_ID.addTargetField("POL_ID");
    table.addForeignKeyConstraint(foreignKeyFK_VHCL_POL_POL_ID);

    return table;
  }
  public static TableDefinition buildEMPLOYEE_SEQTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_EMPLOYEE_SEQ");

    FieldDefinition fieldSEQ_COUNT = new FieldDefinition();
    fieldSEQ_COUNT.setName("SEQ_COUNT");
    fieldSEQ_COUNT.setTypeName("NUMBER");
    fieldSEQ_COUNT.setSize(15);
    fieldSEQ_COUNT.setSubSize(0);
    fieldSEQ_COUNT.setIsPrimaryKey(false);
    fieldSEQ_COUNT.setIsIdentity(false);
    fieldSEQ_COUNT.setUnique(false);
    fieldSEQ_COUNT.setShouldAllowNull(false);
    table.addField(fieldSEQ_COUNT);

    FieldDefinition fieldSEQ_NAME = new FieldDefinition();
    fieldSEQ_NAME.setName("SEQ_NAME");
    fieldSEQ_NAME.setTypeName("VARCHAR2");
    fieldSEQ_NAME.setSize(80);
    fieldSEQ_NAME.setSubSize(0);
    fieldSEQ_NAME.setIsPrimaryKey(true);
    fieldSEQ_NAME.setIsIdentity(false);
    fieldSEQ_NAME.setUnique(false);
    fieldSEQ_NAME.setShouldAllowNull(false);
    table.addField(fieldSEQ_NAME);

    return table;
  }
  public static TableDefinition buildTIREDETAILTable() {
    // 474752 :CREATE TABLE TIREDETAIL (ID NUMBER(10) NOT NULL, DETAIL VARCHAR2(255), PRIMARY KEY
    // (ID))
    TableDefinition table = new TableDefinition();
    table.setName("OR_TIREDETAIL");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("TIRE_ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    FieldDefinition fieldDetail = new FieldDefinition();
    fieldDetail.setName("DETAIL");
    fieldDetail.setTypeName("VARCHAR");
    fieldDetail.setSize(255);
    fieldDetail.setSubSize(0);
    fieldDetail.setIsPrimaryKey(false);
    fieldDetail.setIsIdentity(false);
    fieldDetail.setShouldAllowNull(true);
    fieldDetail.setUnique(false);
    table.addField(fieldDetail);

    return table;
  }
  public static TableDefinition buildPARTNERLINKTable() {
    TableDefinition table = new TableDefinition();
    table.setName("XML_MW");

    FieldDefinition fieldMID = new FieldDefinition();
    fieldMID.setName("M");
    fieldMID.setTypeName("NUMERIC");
    fieldMID.setSize(15);
    fieldMID.setSubSize(0);
    fieldMID.setIsPrimaryKey(false);
    fieldMID.setIsIdentity(false);
    fieldMID.setUnique(false);
    fieldMID.setShouldAllowNull(true);
    fieldMID.setForeignKeyFieldName("XML_MAN.ID");
    table.addField(fieldMID);

    FieldDefinition fieldWID = new FieldDefinition();
    fieldWID.setName("W");
    fieldWID.setTypeName("NUMERIC");
    fieldWID.setSize(15);
    fieldWID.setSubSize(0);
    fieldWID.setIsPrimaryKey(false);
    fieldWID.setIsIdentity(false);
    fieldWID.setUnique(false);
    fieldWID.setShouldAllowNull(true);
    fieldWID.setForeignKeyFieldName("XML_WOMAN.ID");
    table.addField(fieldWID);

    return table;
  }
  public static TableDefinition buildSALARYTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_SALARY");

    FieldDefinition fieldEMP_ID = new FieldDefinition();
    fieldEMP_ID.setName("E_ID");
    fieldEMP_ID.setTypeName("NUMERIC");
    fieldEMP_ID.setSize(15);
    fieldEMP_ID.setSubSize(0);
    fieldEMP_ID.setIsPrimaryKey(true);
    fieldEMP_ID.setIsIdentity(false);
    fieldEMP_ID.setUnique(false);
    fieldEMP_ID.setShouldAllowNull(false);
    fieldEMP_ID.setForeignKeyFieldName("CMP3_XML_EMPLOYEE.EMP_ID");
    table.addField(fieldEMP_ID);

    FieldDefinition fieldSALARY = new FieldDefinition();
    fieldSALARY.setName("SALARY");
    fieldSALARY.setTypeName("NUMBER");
    fieldSALARY.setSize(15);
    fieldSALARY.setSubSize(0);
    fieldSALARY.setIsPrimaryKey(false);
    fieldSALARY.setIsIdentity(false);
    fieldSALARY.setUnique(false);
    fieldSALARY.setShouldAllowNull(true);
    table.addField(fieldSALARY);

    return table;
  }
  public static TableDefinition buildCHASSISTable() {
    // CREATE TABLE JPA_OR_CHASSIS (ID NUMBER(10) NOT NULL, SERIALNUMBER NUMBER(19) NULL, PRIMARY
    // KEY (ID))
    TableDefinition table = new TableDefinition();
    table.setName("JPA_OR_CHASSIS");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    FieldDefinition serialNumber = new FieldDefinition();
    serialNumber.setName("SERIALNUMBER");
    serialNumber.setTypeName("NUMERIC");
    serialNumber.setSize(18);
    serialNumber.setSubSize(0);
    serialNumber.setIsPrimaryKey(false);
    serialNumber.setIsIdentity(false);
    serialNumber.setShouldAllowNull(true);
    serialNumber.setUnique(false);
    table.addField(serialNumber);

    return table;
  }
  public static TableDefinition buildCMP3_ORDER_SEQTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_FIELDACCESS_CUSTOMER_SEQ");

    FieldDefinition fieldSEQ_NAME = new FieldDefinition();
    fieldSEQ_NAME.setName("SEQ_NAME");
    fieldSEQ_NAME.setTypeName("VARCHAR");
    fieldSEQ_NAME.setSize(80);
    fieldSEQ_NAME.setSubSize(0);
    fieldSEQ_NAME.setIsPrimaryKey(true);
    fieldSEQ_NAME.setIsIdentity(false);
    fieldSEQ_NAME.setUnique(false);
    fieldSEQ_NAME.setShouldAllowNull(false);
    table.addField(fieldSEQ_NAME);

    FieldDefinition fieldSEQ_VALUE = new FieldDefinition();
    fieldSEQ_VALUE.setName("SEQ_COUNT");
    fieldSEQ_VALUE.setTypeName("NUMERIC");
    fieldSEQ_VALUE.setSize(15);
    fieldSEQ_VALUE.setSubSize(0);
    fieldSEQ_VALUE.setIsPrimaryKey(false);
    fieldSEQ_VALUE.setIsIdentity(false);
    fieldSEQ_VALUE.setUnique(false);
    fieldSEQ_VALUE.setShouldAllowNull(false);
    table.addField(fieldSEQ_VALUE);

    return table;
  }
  public static TableDefinition buildCMP3_SALESPERSONTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_FIELDACCESS_SALESPERSON");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMBER");
    fieldID.setSize(15);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(false);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldNAME = new FieldDefinition();
    fieldNAME.setName("NAME");
    fieldNAME.setTypeName("VARCHAR2");
    fieldNAME.setSize(80);
    fieldNAME.setSubSize(0);
    fieldNAME.setIsPrimaryKey(false);
    fieldNAME.setIsIdentity(false);
    fieldNAME.setUnique(false);
    fieldNAME.setShouldAllowNull(true);
    table.addField(fieldNAME);

    return table;
  }
  public TableDefinition buildINS_PHONETable() {
    TableDefinition table = new TableDefinition();
    table.setName("INS_PHONE");

    FieldDefinition fieldHOLDER_SSN = new FieldDefinition();
    fieldHOLDER_SSN.setName("HOLDER_SSN");
    fieldHOLDER_SSN.setTypeName("NUMBER");
    fieldHOLDER_SSN.setSize(18);
    fieldHOLDER_SSN.setSubSize(0);
    fieldHOLDER_SSN.setIsPrimaryKey(true);
    fieldHOLDER_SSN.setIsIdentity(false);
    fieldHOLDER_SSN.setUnique(false);
    fieldHOLDER_SSN.setShouldAllowNull(false);
    table.addField(fieldHOLDER_SSN);

    FieldDefinition fieldTYPE = new FieldDefinition();
    fieldTYPE.setName("TYPE");
    fieldTYPE.setTypeName("VARCHAR2");
    fieldTYPE.setSize(10);
    fieldTYPE.setSubSize(0);
    fieldTYPE.setIsPrimaryKey(true);
    fieldTYPE.setIsIdentity(false);
    fieldTYPE.setUnique(false);
    fieldTYPE.setShouldAllowNull(false);
    table.addField(fieldTYPE);

    FieldDefinition fieldAREACODE = new FieldDefinition();
    fieldAREACODE.setName("AREACODE");
    fieldAREACODE.setTypeName("NUMBER");
    fieldAREACODE.setSize(3);
    fieldAREACODE.setSubSize(0);
    fieldAREACODE.setIsPrimaryKey(false);
    fieldAREACODE.setIsIdentity(false);
    fieldAREACODE.setUnique(false);
    fieldAREACODE.setShouldAllowNull(true);
    table.addField(fieldAREACODE);

    FieldDefinition fieldPHONE_NUMBER = new FieldDefinition();
    fieldPHONE_NUMBER.setName("PHONE_NUMBER");
    fieldPHONE_NUMBER.setTypeName("NUMBER");
    fieldPHONE_NUMBER.setSize(10);
    fieldPHONE_NUMBER.setSubSize(0);
    fieldPHONE_NUMBER.setIsPrimaryKey(false);
    fieldPHONE_NUMBER.setIsIdentity(false);
    fieldPHONE_NUMBER.setUnique(false);
    fieldPHONE_NUMBER.setShouldAllowNull(true);
    table.addField(fieldPHONE_NUMBER);

    ForeignKeyConstraint foreignKeyFK_INS_PHONE_HOLDER_SSN = new ForeignKeyConstraint();
    foreignKeyFK_INS_PHONE_HOLDER_SSN.setName("INS_PHONE_HOLDER");
    foreignKeyFK_INS_PHONE_HOLDER_SSN.setTargetTable("HOLDER");
    foreignKeyFK_INS_PHONE_HOLDER_SSN.addSourceField("HOLDER_SSN");
    foreignKeyFK_INS_PHONE_HOLDER_SSN.addTargetField("SSN");
    table.addForeignKeyConstraint(foreignKeyFK_INS_PHONE_HOLDER_SSN);

    return table;
  }
  public static TableDefinition buildCMP3_ITEMTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_MERGE_ITEM");

    FieldDefinition fieldDESCRIPTION = new FieldDefinition();
    fieldDESCRIPTION.setName("DESCRIPTION");
    fieldDESCRIPTION.setTypeName("VARCHAR2");
    fieldDESCRIPTION.setSize(80);
    fieldDESCRIPTION.setSubSize(0);
    fieldDESCRIPTION.setIsPrimaryKey(false);
    fieldDESCRIPTION.setIsIdentity(false);
    fieldDESCRIPTION.setUnique(false);
    fieldDESCRIPTION.setShouldAllowNull(true);
    table.addField(fieldDESCRIPTION);

    FieldDefinition fieldITEM_ID = new FieldDefinition();
    fieldITEM_ID.setName("ID");
    fieldITEM_ID.setTypeName("NUMBER");
    fieldITEM_ID.setSize(15);
    fieldITEM_ID.setSubSize(0);
    fieldITEM_ID.setIsPrimaryKey(true);
    fieldITEM_ID.setIsIdentity(false);
    fieldITEM_ID.setUnique(false);
    fieldITEM_ID.setShouldAllowNull(false);
    table.addField(fieldITEM_ID);

    FieldDefinition fieldNAME = new FieldDefinition();
    fieldNAME.setName("NAME");
    fieldNAME.setTypeName("VARCHAR2");
    fieldNAME.setSize(80);
    fieldNAME.setSubSize(0);
    fieldNAME.setIsPrimaryKey(false);
    fieldNAME.setIsIdentity(false);
    fieldNAME.setUnique(false);
    fieldNAME.setShouldAllowNull(true);
    table.addField(fieldNAME);

    FieldDefinition field10 = new FieldDefinition();
    field10.setName("ITEM_VERSION");
    field10.setTypeName("NUMERIC");
    field10.setSize(15);
    field10.setShouldAllowNull(true);
    field10.setIsPrimaryKey(false);
    field10.setUnique(false);
    field10.setIsIdentity(false);
    table.addField(field10);

    FieldDefinition fieldIMAGE = new FieldDefinition();
    fieldIMAGE.setName("IMAGE");
    fieldIMAGE.setTypeName("BLOB");
    fieldIMAGE.setShouldAllowNull(true);
    table.addField(fieldIMAGE);

    return table;
  }
  public static TableDefinition buildSPARKPLUGTable() {
    // CREATE TABLE JPA_OR_SPARK_PLUG (ID NUMBER(10) NOT NULL, SERIALNUMBER NUMBER(19) NULL,
    // ENGINE_ID NUMBER(10) NULL, PRIMARY KEY (ID))
    TableDefinition table = new TableDefinition();
    table.setName("JPA_OR_SPARK_PLUG");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    FieldDefinition fieldSERIALNUMBER = new FieldDefinition();
    fieldSERIALNUMBER.setName("SERIALNUMBER");
    fieldSERIALNUMBER.setTypeName("NUMERIC");
    fieldSERIALNUMBER.setSize(18);
    fieldSERIALNUMBER.setSubSize(0);
    fieldSERIALNUMBER.setIsPrimaryKey(false);
    fieldSERIALNUMBER.setIsIdentity(false);
    fieldSERIALNUMBER.setShouldAllowNull(true);
    fieldSERIALNUMBER.setUnique(false);
    table.addField(fieldSERIALNUMBER);

    FieldDefinition fieldENGINE = new FieldDefinition();
    fieldENGINE.setName("ENGINE_ID");
    fieldENGINE.setTypeName("NUMERIC");
    fieldENGINE.setSize(10);
    fieldENGINE.setSubSize(0);
    fieldENGINE.setIsPrimaryKey(false);
    fieldENGINE.setIsIdentity(false);
    fieldENGINE.setShouldAllowNull(true);
    fieldENGINE.setUnique(false);
    table.addField(fieldENGINE);

    // ALTER TABLE JPA_OR_SPARK_PLUG ADD CONSTRAINT JPA_OR_SPARK_PLUG_ENGINE_ID FOREIGN KEY
    // (ENGINE_ID) REFERENCES JPA_OR_ENGINE (ID)
    ForeignKeyConstraint foreignKeySPARKPLUG_ENGINE = new ForeignKeyConstraint();
    foreignKeySPARKPLUG_ENGINE.setName("FK_SPK_PG_ENG_ID");
    foreignKeySPARKPLUG_ENGINE.setTargetTable("JPA_OR_ENGINE");
    foreignKeySPARKPLUG_ENGINE.addSourceField("ENGINE_ID");
    foreignKeySPARKPLUG_ENGINE.addTargetField("ID");
    table.addForeignKeyConstraint(foreignKeySPARKPLUG_ENGINE);

    return table;
  }
  public TableDefinition buildPHONEVLIOTable() {
    TableDefinition table = new TableDefinition();
    table.setName("PHONEVLIO");

    FieldDefinition fieldEMP_ID = new FieldDefinition();
    fieldEMP_ID.setName("EMP_ID");
    fieldEMP_ID.setTypeName("NUMBER");
    fieldEMP_ID.setSize(0);
    fieldEMP_ID.setSubSize(0);
    fieldEMP_ID.setIsPrimaryKey(true);
    fieldEMP_ID.setIsIdentity(false);
    fieldEMP_ID.setUnique(false);
    fieldEMP_ID.setShouldAllowNull(false);
    table.addField(fieldEMP_ID);

    FieldDefinition fieldTYPE = new FieldDefinition();
    fieldTYPE.setName("TYPE");
    fieldTYPE.setTypeName("VARCHAR2");
    fieldTYPE.setSize(15);
    fieldTYPE.setSubSize(0);
    fieldTYPE.setIsPrimaryKey(true);
    fieldTYPE.setIsIdentity(false);
    fieldTYPE.setUnique(false);
    fieldTYPE.setShouldAllowNull(false);
    table.addField(fieldTYPE);

    FieldDefinition fieldAREA_CODE = new FieldDefinition();
    fieldAREA_CODE.setName("AREA_CODE");
    fieldAREA_CODE.setTypeName("VARCHAR2");
    fieldAREA_CODE.setSize(3);
    fieldAREA_CODE.setSubSize(0);
    fieldAREA_CODE.setIsPrimaryKey(false);
    fieldAREA_CODE.setIsIdentity(false);
    fieldAREA_CODE.setUnique(false);
    fieldAREA_CODE.setShouldAllowNull(true);
    table.addField(fieldAREA_CODE);

    FieldDefinition fieldP_NUMBER = new FieldDefinition();
    fieldP_NUMBER.setName("P_NUMBER");
    fieldP_NUMBER.setTypeName("VARCHAR2");
    fieldP_NUMBER.setSize(7);
    fieldP_NUMBER.setSubSize(0);
    fieldP_NUMBER.setIsPrimaryKey(false);
    fieldP_NUMBER.setIsIdentity(false);
    fieldP_NUMBER.setUnique(false);
    fieldP_NUMBER.setShouldAllowNull(true);
    table.addField(fieldP_NUMBER);

    return table;
  }
  public static TableDefinition buildCMP3_CUSTOMERTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_MERGE_CUSTOMER");

    FieldDefinition fieldCITY = new FieldDefinition();
    fieldCITY.setName("CITY");
    fieldCITY.setTypeName("VARCHAR2");
    fieldCITY.setSize(80);
    fieldCITY.setSubSize(0);
    fieldCITY.setIsPrimaryKey(false);
    fieldCITY.setIsIdentity(false);
    fieldCITY.setUnique(false);
    fieldCITY.setShouldAllowNull(true);
    table.addField(fieldCITY);

    FieldDefinition fieldCUST_ID = new FieldDefinition();
    fieldCUST_ID.setName("CUST_ID");
    fieldCUST_ID.setTypeName("NUMBER");
    fieldCUST_ID.setSize(15);
    fieldCUST_ID.setSubSize(0);
    fieldCUST_ID.setIsPrimaryKey(true);
    fieldCUST_ID.setIsIdentity(false);
    fieldCUST_ID.setUnique(false);
    fieldCUST_ID.setShouldAllowNull(false);
    table.addField(fieldCUST_ID);

    FieldDefinition fieldNAME = new FieldDefinition();
    fieldNAME.setName("NAME");
    fieldNAME.setTypeName("VARCHAR2");
    fieldNAME.setSize(80);
    fieldNAME.setSubSize(0);
    fieldNAME.setIsPrimaryKey(false);
    fieldNAME.setIsIdentity(false);
    fieldNAME.setUnique(false);
    fieldNAME.setShouldAllowNull(true);
    table.addField(fieldNAME);

    FieldDefinition field10 = new FieldDefinition();
    field10.setName("CUST_VERSION");
    field10.setTypeName("NUMERIC");
    field10.setSize(15);
    field10.setShouldAllowNull(true);
    field10.setIsPrimaryKey(false);
    field10.setUnique(false);
    field10.setIsIdentity(false);
    table.addField(field10);

    return table;
  }
  public TableDefinition buildRewardTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_REWARD");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldDescription = new FieldDefinition();
    fieldDescription.setName("DESCRIP");
    fieldDescription.setTypeName("VARCHAR2");
    fieldDescription.setSize(60);
    fieldDescription.setSubSize(0);
    fieldDescription.setIsPrimaryKey(false);
    fieldDescription.setIsIdentity(false);
    fieldDescription.setUnique(false);
    fieldDescription.setShouldAllowNull(true);
    table.addField(fieldDescription);

    FieldDefinition fieldTenantId = new FieldDefinition();
    fieldTenantId.setName("T_ID");
    fieldTenantId.setTypeName("VARCHAR2");
    fieldTenantId.setSize(10);
    fieldTenantId.setSubSize(0);
    fieldTenantId.setIsPrimaryKey(false);
    fieldTenantId.setIsIdentity(false);
    fieldTenantId.setUnique(false);
    fieldTenantId.setShouldAllowNull(false);
    table.addField(fieldTenantId);

    FieldDefinition fieldMafiosoId = new FieldDefinition();
    fieldMafiosoId.setName("MAFIOSO_ID");
    fieldMafiosoId.setTypeName("NUMERIC");
    fieldMafiosoId.setSize(15);
    fieldMafiosoId.setShouldAllowNull(false);
    fieldMafiosoId.setIsPrimaryKey(true);
    fieldMafiosoId.setUnique(false);
    fieldMafiosoId.setIsIdentity(false);
    fieldMafiosoId.setForeignKeyFieldName("JPA_MAFIOSO.ID");
    table.addField(fieldMafiosoId);

    return table;
  }
  public TableDefinition buildContractTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_CONTRACT");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldDescription = new FieldDefinition();
    fieldDescription.setName("DESCRIP");
    fieldDescription.setTypeName("VARCHAR2");
    fieldDescription.setSize(60);
    fieldDescription.setSubSize(0);
    fieldDescription.setIsPrimaryKey(false);
    fieldDescription.setIsIdentity(false);
    fieldDescription.setUnique(false);
    fieldDescription.setShouldAllowNull(true);
    table.addField(fieldDescription);

    FieldDefinition fieldVersion = new FieldDefinition();
    fieldVersion.setName("VERSION");
    fieldVersion.setTypeName("NUMERIC");
    fieldVersion.setSize(15);
    fieldVersion.setShouldAllowNull(true);
    fieldVersion.setIsPrimaryKey(false);
    fieldVersion.setUnique(false);
    fieldVersion.setIsIdentity(false);
    table.addField(fieldVersion);

    FieldDefinition fieldTenantId = new FieldDefinition();
    fieldTenantId.setName("TENANT_ID");
    fieldTenantId.setTypeName("VARCHAR2");
    fieldTenantId.setSize(10);
    fieldTenantId.setSubSize(0);
    fieldTenantId.setIsPrimaryKey(false);
    fieldTenantId.setIsIdentity(false);
    fieldTenantId.setUnique(false);
    fieldTenantId.setShouldAllowNull(false);
    table.addField(fieldTenantId);

    return table;
  }
  public TableDefinition buildMafiaFamily_TagsTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_FAMILY_TAGS");

    FieldDefinition fieldFamilyId = new FieldDefinition();
    fieldFamilyId.setName("FAMILY_ID");
    fieldFamilyId.setTypeName("NUMERIC");
    fieldFamilyId.setSize(15);
    fieldFamilyId.setIsPrimaryKey(false);
    fieldFamilyId.setIsIdentity(false);
    fieldFamilyId.setUnique(false);
    fieldFamilyId.setShouldAllowNull(false);
    // fieldFamilyId.setForeignKeyFieldName("JPA_MAFIA_FAMILY.ID");
    table.addField(fieldFamilyId);

    FieldDefinition fieldTag = new FieldDefinition();
    fieldTag.setName("TAG");
    fieldTag.setTypeName("VARCHAR2");
    fieldTag.setSize(60);
    fieldTag.setSubSize(0);
    fieldTag.setIsPrimaryKey(false);
    fieldTag.setIsIdentity(false);
    fieldTag.setUnique(false);
    fieldTag.setShouldAllowNull(true);
    table.addField(fieldTag);

    return table;
  }
  public static TableDefinition buildCMP3_PARTSLISTTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_MERGE_PARTSLIST");

    FieldDefinition fieldPARTSLIST_ID = new FieldDefinition();
    fieldPARTSLIST_ID.setName("ID");
    fieldPARTSLIST_ID.setTypeName("NUMBER");
    fieldPARTSLIST_ID.setSize(15);
    fieldPARTSLIST_ID.setSubSize(0);
    fieldPARTSLIST_ID.setIsPrimaryKey(true);
    fieldPARTSLIST_ID.setIsIdentity(false);
    fieldPARTSLIST_ID.setUnique(false);
    fieldPARTSLIST_ID.setShouldAllowNull(false);
    table.addField(fieldPARTSLIST_ID);

    FieldDefinition field10 = new FieldDefinition();
    field10.setName("VERSION");
    field10.setTypeName("NUMERIC");
    field10.setSize(15);
    field10.setShouldAllowNull(true);
    field10.setIsPrimaryKey(false);
    field10.setUnique(false);
    field10.setIsIdentity(false);
    table.addField(field10);

    return table;
  }
  public TableDefinition buildMafiaFamily_RevenueTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_FAMILY_REVENUE");

    FieldDefinition fieldFamilyId = new FieldDefinition();
    fieldFamilyId.setName("ID");
    fieldFamilyId.setTypeName("NUMERIC");
    fieldFamilyId.setSize(15);
    fieldFamilyId.setIsPrimaryKey(false);
    fieldFamilyId.setIsIdentity(false);
    fieldFamilyId.setUnique(false);
    fieldFamilyId.setShouldAllowNull(false);
    // fieldFamilyId.setForeignKeyFieldName("JPA_MAFIA_FAMILY.ID");
    table.addField(fieldFamilyId);

    FieldDefinition fieldRevenue = new FieldDefinition();
    fieldRevenue.setName("REVENUE");
    fieldRevenue.setTypeName("NUMBER");
    fieldRevenue.setSize(15);
    fieldRevenue.setSubSize(0);
    fieldRevenue.setIsPrimaryKey(false);
    fieldRevenue.setIsIdentity(false);
    fieldRevenue.setUnique(false);
    fieldRevenue.setShouldAllowNull(true);
    table.addField(fieldRevenue);

    return table;
  }
  public TableDefinition buildVHCL_CLMTable() {
    TableDefinition table = new TableDefinition();
    table.setName("VHCL_CLM");

    FieldDefinition fieldCLM_ID = new FieldDefinition();
    fieldCLM_ID.setName("CLM_ID");
    fieldCLM_ID.setTypeName("NUMBER");
    fieldCLM_ID.setSize(18);
    fieldCLM_ID.setSubSize(0);
    fieldCLM_ID.setIsPrimaryKey(true);
    fieldCLM_ID.setIsIdentity(false);
    fieldCLM_ID.setUnique(false);
    fieldCLM_ID.setShouldAllowNull(false);
    table.addField(fieldCLM_ID);

    FieldDefinition fieldPART = new FieldDefinition();
    fieldPART.setName("PART");
    fieldPART.setTypeName("VARCHAR2");
    fieldPART.setSize(30);
    fieldPART.setSubSize(0);
    fieldPART.setIsPrimaryKey(false);
    fieldPART.setIsIdentity(false);
    fieldPART.setUnique(false);
    fieldPART.setShouldAllowNull(true);
    table.addField(fieldPART);

    FieldDefinition fieldPART_DESC = new FieldDefinition();
    fieldPART_DESC.setName("PART_DESC");
    fieldPART_DESC.setTypeName("VARCHAR2");
    fieldPART_DESC.setSize(30);
    fieldPART_DESC.setSubSize(0);
    fieldPART_DESC.setIsPrimaryKey(false);
    fieldPART_DESC.setIsIdentity(false);
    fieldPART_DESC.setUnique(false);
    fieldPART_DESC.setShouldAllowNull(true);
    table.addField(fieldPART_DESC);

    ForeignKeyConstraint foreignKeyFK_VHCL_CLM_CLM_ID = new ForeignKeyConstraint();
    foreignKeyFK_VHCL_CLM_CLM_ID.setName("VHCL_CLM_CLAIM");
    foreignKeyFK_VHCL_CLM_CLM_ID.setTargetTable("CLAIM");
    foreignKeyFK_VHCL_CLM_CLM_ID.addSourceField("CLM_ID");
    foreignKeyFK_VHCL_CLM_CLM_ID.addTargetField("CLM_ID");
    table.addForeignKeyConstraint(foreignKeyFK_VHCL_CLM_CLM_ID);

    return table;
  }
  public static TableDefinition buildWHEELNUTTable() {
    // CREATE TABLE JPA_OR_WHEEL_NUT (ID NUMBER(10) NOT NULL, WHEEL_ID NUMBER(10) NULL, PRIMARY KEY
    // (ID))
    TableDefinition table = new TableDefinition();
    table.setName("JPA_OR_WHEEL_NUT");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    FieldDefinition fieldWHEEL = new FieldDefinition();
    fieldWHEEL.setName("WHEEL_ID");
    fieldWHEEL.setTypeName("NUMERIC");
    fieldWHEEL.setSize(10);
    fieldWHEEL.setSubSize(0);
    fieldWHEEL.setIsPrimaryKey(false);
    fieldWHEEL.setIsIdentity(false);
    fieldWHEEL.setShouldAllowNull(true);
    fieldWHEEL.setUnique(false);
    table.addField(fieldWHEEL);

    // ALTER TABLE JPA_OR_WHEEL_NUT ADD CONSTRAINT FK_JPA_OR_WHEEL_NUT_WHEEL_ID FOREIGN KEY
    // (WHEEL_ID) REFERENCES JPA_OR_WHEEL (ID)
    ForeignKeyConstraint foreignKeyWHEELNUT_WHEEL = new ForeignKeyConstraint();
    foreignKeyWHEELNUT_WHEEL.setName("FK_WH_NUT_WL_ID");
    foreignKeyWHEELNUT_WHEEL.setTargetTable("JPA_OR_WHEEL");
    foreignKeyWHEELNUT_WHEEL.addSourceField("WHEEL_ID");
    foreignKeyWHEELNUT_WHEEL.addTargetField("ID");
    table.addForeignKeyConstraint(foreignKeyWHEELNUT_WHEEL);

    return table;
  }
  public TableDefinition buildMafiaFamilyTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_MAFIA_FAMILY");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldName = new FieldDefinition();
    fieldName.setName("NAME");
    fieldName.setTypeName("VARCHAR2");
    fieldName.setSize(60);
    fieldName.setSubSize(0);
    fieldName.setIsPrimaryKey(false);
    fieldName.setIsIdentity(false);
    fieldName.setUnique(false);
    fieldName.setShouldAllowNull(true);
    table.addField(fieldName);

    FieldDefinition fieldTenantId = new FieldDefinition();
    fieldTenantId.setName("TENANT_ID");
    fieldTenantId.setTypeName("VARCHAR2");
    fieldTenantId.setSize(10);
    fieldTenantId.setSubSize(0);
    fieldTenantId.setIsPrimaryKey(false);
    fieldTenantId.setIsIdentity(false);
    fieldTenantId.setUnique(false);
    fieldTenantId.setShouldAllowNull(false);
    table.addField(fieldTenantId);

    return table;
  }
  public static TableDefinition buildCACHEABLE_FORCE_PROTECTED_ENTITYTable() {
    TableDefinition table = new TableDefinition();
    table.setName("JPA_CACHEABLE_FORCE_PROTECTED");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setShouldAllowNull(false);
    fieldID.setIsPrimaryKey(true);
    fieldID.setUnique(false);
    fieldID.setIsIdentity(true);
    table.addField(fieldID);

    FieldDefinition fieldNAME = new FieldDefinition();
    fieldNAME.setName("NAME");
    fieldNAME.setTypeName("VARCHAR");
    fieldNAME.setSize(75);
    fieldNAME.setShouldAllowNull(true);
    fieldNAME.setIsPrimaryKey(false);
    fieldNAME.setUnique(false);
    fieldNAME.setIsIdentity(false);
    table.addField(fieldNAME);

    FieldDefinition fieldDTYPE = new FieldDefinition();
    fieldDTYPE.setName("DTYPE");
    fieldDTYPE.setTypeName("VARCHAR2");
    fieldDTYPE.setSize(15);
    fieldDTYPE.setSubSize(0);
    fieldDTYPE.setIsPrimaryKey(false);
    fieldDTYPE.setIsIdentity(false);
    fieldDTYPE.setUnique(false);
    fieldDTYPE.setShouldAllowNull(true);
    table.addField(fieldDTYPE);

    FieldDefinition falseFK = new FieldDefinition();
    falseFK.setName("FALSE_FK");
    falseFK.setTypeName("NUMERIC");
    falseFK.setSize(15);
    falseFK.setShouldAllowNull(true);
    falseFK.setIsPrimaryKey(false);
    falseFK.setUnique(false);
    falseFK.setIsIdentity(false);
    table.addField(falseFK);

    return table;
  }
  public static TableDefinition buildREADONLYCLASSTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_READONLY");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    return table;
  }
  /**
   * This is Oracle specific Oracle does not allow blobs/longs to be primary keys, so the RAW type
   * needs to be used
   */
  public static TableDefinition buildPrimitiveByteArrayTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_PBYTEARRAYPK_TYPE");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("RAW");
    fieldID.setSize(16);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    return table;
  }
  public static TableDefinition buildWHEELRIMTable() {
    // CREATE TABLE JPA_OR_WHEEL_RIM (ID NUMBER(10) NOT NULL, PRIMARY KEY (ID))
    TableDefinition table = new TableDefinition();
    table.setName("JPA_OR_WHEEL_RIM");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(10);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setShouldAllowNull(false);
    fieldID.setUnique(false);
    table.addField(fieldID);

    return table;
  }
  public static TableDefinition buildWOMANTable() {
    TableDefinition table = new TableDefinition();
    table.setName("XML_WOMAN");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition field1 = new FieldDefinition();
    field1.setName("F_NAME");
    field1.setTypeName("VARCHAR");
    field1.setSize(40);
    field1.setShouldAllowNull(true);
    field1.setIsPrimaryKey(false);
    field1.setUnique(false);
    field1.setIsIdentity(false);
    table.addField(field1);

    FieldDefinition field2 = new FieldDefinition();
    field2.setName("L_NAME");
    field2.setTypeName("VARCHAR");
    field2.setSize(40);
    field2.setShouldAllowNull(true);
    field2.setIsPrimaryKey(false);
    field2.setUnique(false);
    field2.setIsIdentity(false);
    table.addField(field2);

    return table;
  }
  public static TableDefinition buildADDRESSTable() {
    TableDefinition table = new TableDefinition();
    table.setName("CMP3_XML_ADDRESS");

    FieldDefinition fieldID = new FieldDefinition();
    fieldID.setName("ADDRESS_ID");
    fieldID.setTypeName("NUMERIC");
    fieldID.setSize(15);
    fieldID.setSubSize(0);
    fieldID.setIsPrimaryKey(true);
    fieldID.setIsIdentity(true);
    fieldID.setUnique(false);
    fieldID.setShouldAllowNull(false);
    table.addField(fieldID);

    FieldDefinition fieldSTREET = new FieldDefinition();
    fieldSTREET.setName("STREET");
    fieldSTREET.setTypeName("VARCHAR2");
    fieldSTREET.setSize(60);
    fieldSTREET.setSubSize(0);
    fieldSTREET.setIsPrimaryKey(false);
    fieldSTREET.setIsIdentity(false);
    fieldSTREET.setUnique(false);
    fieldSTREET.setShouldAllowNull(true);
    table.addField(fieldSTREET);

    FieldDefinition fieldCITY = new FieldDefinition();
    fieldCITY.setName("CITY");
    fieldCITY.setTypeName("VARCHAR2");
    fieldCITY.setSize(60);
    fieldCITY.setSubSize(0);
    fieldCITY.setIsPrimaryKey(false);
    fieldCITY.setIsIdentity(false);
    fieldCITY.setUnique(false);
    fieldCITY.setShouldAllowNull(true);
    table.addField(fieldCITY);

    FieldDefinition fieldPROVINCE = new FieldDefinition();
    fieldPROVINCE.setName("PROVINCE");
    fieldPROVINCE.setTypeName("VARCHAR2");
    fieldPROVINCE.setSize(60);
    fieldPROVINCE.setSubSize(0);
    fieldPROVINCE.setIsPrimaryKey(false);
    fieldPROVINCE.setIsIdentity(false);
    fieldPROVINCE.setUnique(false);
    fieldPROVINCE.setShouldAllowNull(true);
    table.addField(fieldPROVINCE);

    FieldDefinition fieldPOSTALCODE = new FieldDefinition();
    fieldPOSTALCODE.setName("P_CODE");
    fieldPOSTALCODE.setTypeName("VARCHAR2");
    fieldPOSTALCODE.setSize(67);
    fieldPOSTALCODE.setSubSize(0);
    fieldPOSTALCODE.setIsPrimaryKey(false);
    fieldPOSTALCODE.setIsIdentity(false);
    fieldPOSTALCODE.setUnique(false);
    fieldPOSTALCODE.setShouldAllowNull(true);
    table.addField(fieldPOSTALCODE);

    FieldDefinition fieldCOUNTRY = new FieldDefinition();
    fieldCOUNTRY.setName("COUNTRY");
    fieldCOUNTRY.setTypeName("VARCHAR2");
    fieldCOUNTRY.setSize(60);
    fieldCOUNTRY.setSubSize(0);
    fieldCOUNTRY.setIsPrimaryKey(false);
    fieldCOUNTRY.setIsIdentity(false);
    fieldCOUNTRY.setUnique(false);
    fieldCOUNTRY.setShouldAllowNull(true);
    table.addField(fieldCOUNTRY);

    FieldDefinition fieldType = new FieldDefinition();
    fieldType.setName("TYPE");
    fieldType.setTypeName("VARCHAR2");
    fieldType.setSize(150);
    fieldType.setSubSize(0);
    fieldType.setIsPrimaryKey(false);
    fieldType.setIsIdentity(false);
    fieldType.setUnique(false);
    fieldType.setShouldAllowNull(true);
    table.addField(fieldType);

    return table;
  }