blob: 73d777b809c83e220edc380383a5fc886bfc1b4a [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
// 04/24/2009-2.0 Guy Pelletier
// - 270011: JPA 2.0 MappedById support
// 10/21/2009-2.0 Guy Pelletier
// - 290567: mappedbyid support incomplete
// 11/23/2009-2.0 Guy Pelletier
// - 295790: JPA 2.0 adding @MapsId to one entity causes initialization errors in other entities
// 05/31/2010-2.1 Guy Pelletier
// - 314941: multiple joinColumns without referenced column names defined, no error
// 08/13/2010-2.2 Guy Pelletier
// - 296078: JPA 2.0 with @MapsId, em.persist generates Internal Exception IllegalArgumentException
// 02/02/2011-2.3 Chris Delahunt
// - 336122: ValidationException thrown for JoinColumns on OneToMany with composite primary key
// 01/06/2015-2.6 Dalia Abo Sheasha
// - 454917: Informix tables need to use INT fields when referencing SERIAL types.
// 09/11/2017-2.1 Will Dazey
// - 520387: multiple owning descriptors for an embeddable are not set
package org.eclipse.persistence.testing.models.jpa.advanced.compositepk;
import org.eclipse.persistence.sessions.DatabaseSession;
import org.eclipse.persistence.testing.framework.TogglingFastTableCreator;
import org.eclipse.persistence.tools.schemaframework.*;
public class CompositePKTableCreator extends TogglingFastTableCreator {
public CompositePKTableCreator() {
setName("EJB3CompositePKProject");
addTableDefinition(buildADMIN_CONTRACTTable());
addTableDefinition(buildADMINTable());
addTableDefinition(buildSCIENTISTTable());
addTableDefinition(buildDEPARTMENTTable());
addTableDefinition(buildDEPT_ADMINTable());
addTableDefinition(buildDEPT_COMPETENCYTable());
addTableDefinition(buildCUBICLETable());
addTableDefinition(buildSARGEANTTable());
addTableDefinition(buildMASTERCORPORALTable());
addTableDefinition(buildMASTERCORPORALCLONETable());
addTableDefinition(buildMAJORTable());
addTableDefinition(buildMAJORGENERALTable());
addTableDefinition(buildCAPTAINTable());
addTableDefinition(buildBRIGADIERGENERALTable());
addTableDefinition(buildCORPORALTable());
addTableDefinition(buildPRIVATETable());
addTableDefinition(buildGENERALTable());
addTableDefinition(buildLIEUTENANTGENERALTable());
addTableDefinition(buildLIEUTENANTTable());
addTableDefinition(buildSECONDLIEUTENANTTable());
addTableDefinition(buildOFFICERCADETTable());
addTableDefinition(buildLACKEYTable());
addTableDefinition(buildLACKEYCREWTable());
addTableDefinition(buildOFFICETable());
addTableDefinition(buildBOOKIETable());
addTableDefinition(buildCELLNUMBERTable());
addTableDefinition(buildADMINPOOLTable());
addTableDefinition(buildGOLFCLUBHEADTable());
addTableDefinition(buildGOLFCLUBSHAFTTable());
addTableDefinition(buildGOLFCLUBTable());
addTableDefinition(buildGOLFCLUBORDERTable());
}
public static TableDefinition buildBOOKIETable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_BOOKIE");
FieldDefinition fieldBOOKIE_ID = new FieldDefinition();
fieldBOOKIE_ID.setName("BOOKIE_ID");
fieldBOOKIE_ID.setTypeName("NUMERIC");
fieldBOOKIE_ID.setSize(15);
fieldBOOKIE_ID.setShouldAllowNull(false);
fieldBOOKIE_ID.setIsPrimaryKey(true);
fieldBOOKIE_ID.setUnique(false);
fieldBOOKIE_ID.setIsIdentity(true);
table.addField(fieldBOOKIE_ID);
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("NAME");
fieldNAME.setTypeName("VARCHAR");
fieldNAME.setSize(40);
fieldNAME.setShouldAllowNull(true);
fieldNAME.setIsPrimaryKey(false);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
return table;
}
public static TableDefinition buildCELLNUMBERTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_CELLNUMBER");
FieldDefinition field = new FieldDefinition();
field.setName("BOOKIE_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(false);
field.setForeignKeyFieldName("JPA_BOOKIE.BOOKIE_ID");
table.addField(field);
FieldDefinition fieldNUMBER = new FieldDefinition();
fieldNUMBER.setName("NUMB");
fieldNUMBER.setTypeName("VARCHAR");
fieldNUMBER.setSize(15);
fieldNUMBER.setShouldAllowNull(false);
fieldNUMBER.setIsPrimaryKey(true);
fieldNUMBER.setUnique(false);
fieldNUMBER.setIsIdentity(false);
table.addField(fieldNUMBER);
FieldDefinition fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("DESCRIP");
fieldDESCRIPTION.setTypeName("VARCHAR");
fieldDESCRIPTION.setSize(40);
fieldDESCRIPTION.setShouldAllowNull(true);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setIsIdentity(false);
table.addField(fieldDESCRIPTION);
return table;
}
public static TableDefinition buildADMIN_CONTRACTTable(){
TableDefinition table = new TableDefinition();
table.setName("CMP3_ADMIN_CONTRACT");
FieldDefinition field = new FieldDefinition();
field.setName("EMPLOYEE_EMP_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field4 = new FieldDefinition();
field4.setName("END_DATE");
field4.setTypeName("DATE");
field4.setSize(23);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
return table;
}
public static TableDefinition buildADMINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_ADMIN");
FieldDefinition field = new FieldDefinition();
field.setName("EMPLOYEE_EMP_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field1 = new FieldDefinition();
field1.setName("CONTRACT_COMPANY");
field1.setTypeName("VARCHAR");
field1.setSize(40);
field1.setShouldAllowNull(true);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
table.addField(field1);
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);
return table;
}
public static TableDefinition buildBRIGADIERGENERALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_BRIGADIER_GENERAL");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("FIRST_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("LAST_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildCAPTAINTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_CAPTAIN");
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("someOtherName");
fieldNAME.setTypeName("VARCHAR");
fieldNAME.setSize(40);
fieldNAME.setShouldAllowNull(false);
fieldNAME.setIsPrimaryKey(true);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("FK1");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("FK2");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildCORPORALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_CORPORAL");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildCUBICLETable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_CUBICLE");
FieldDefinition ID_field = new FieldDefinition();
ID_field.setName("ID");
ID_field.setTypeName("NUMERIC");
ID_field.setSize(15);
ID_field.setShouldAllowNull(false);
ID_field.setIsPrimaryKey(true);
ID_field.setUnique(false);
ID_field.setIsIdentity(true);
table.addField(ID_field);
FieldDefinition CODE_field = new FieldDefinition();
CODE_field.setName("CODE");
CODE_field.setTypeName("VARCHAR");
CODE_field.setSize(1);
CODE_field.setShouldAllowNull(false);
CODE_field.setIsPrimaryKey(true);
CODE_field.setUnique(false);
CODE_field.setIsIdentity(true);
table.addField(CODE_field);
FieldDefinition OFFICE_ID_field = new FieldDefinition();
OFFICE_ID_field.setName("OFFICE_ID");
OFFICE_ID_field.setTypeName("NUMERIC");
OFFICE_ID_field.setSize(15);
OFFICE_ID_field.setShouldAllowNull(true);
OFFICE_ID_field.setIsPrimaryKey(false);
OFFICE_ID_field.setUnique(false);
OFFICE_ID_field.setIsIdentity(false);
table.addField(OFFICE_ID_field);
FieldDefinition LOCATION_field = new FieldDefinition();
LOCATION_field.setName("OFFICE_LOC");
LOCATION_field.setTypeName("VARCHAR");
LOCATION_field.setSize(40);
LOCATION_field.setShouldAllowNull(true);
LOCATION_field.setIsPrimaryKey(false);
LOCATION_field.setUnique(false);
LOCATION_field.setIsIdentity(false);
table.addField(LOCATION_field);
return table;
}
public static TableDefinition buildDEPARTMENTTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_DEPARTMENT");
FieldDefinition NAME_field = new FieldDefinition();
NAME_field.setName("NAME");
NAME_field.setTypeName("VARCHAR");
NAME_field.setSize(40);
NAME_field.setShouldAllowNull(false);
NAME_field.setIsPrimaryKey(true);
NAME_field.setUnique(false);
NAME_field.setIsIdentity(true);
table.addField(NAME_field);
FieldDefinition ROLE_field = new FieldDefinition();
ROLE_field.setName("DROLE");
ROLE_field.setTypeName("VARCHAR");
ROLE_field.setSize(40);
ROLE_field.setShouldAllowNull(false);
ROLE_field.setIsPrimaryKey(true);
ROLE_field.setUnique(false);
ROLE_field.setIsIdentity(true);
table.addField(ROLE_field);
FieldDefinition LOCATION_field = new FieldDefinition();
LOCATION_field.setName("LOCATION");
LOCATION_field.setTypeName("VARCHAR");
LOCATION_field.setSize(40);
LOCATION_field.setShouldAllowNull(false);
LOCATION_field.setIsPrimaryKey(true);
LOCATION_field.setUnique(false);
LOCATION_field.setIsIdentity(true);
table.addField(LOCATION_field);
return table;
}
public static TableDefinition buildDEPT_ADMINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_DEPT_ADMIN");
// SECTION: FIELD
FieldDefinition fieldName = new FieldDefinition();
fieldName.setName("DEPT_NAME");
fieldName.setTypeName("VARCHAR");
fieldName.setSize(40);
fieldName.setShouldAllowNull(false);
fieldName.setIsPrimaryKey(true);
fieldName.setUnique(false);
fieldName.setIsIdentity(false);
//fieldName.setForeignKeyFieldName("CMP3_DEPARTMENT.NAME");
table.addField(fieldName);
FieldDefinition ROLE_field = new FieldDefinition();
ROLE_field.setName("DEPT_ROLE");
ROLE_field.setTypeName("VARCHAR");
ROLE_field.setSize(40);
ROLE_field.setShouldAllowNull(false);
ROLE_field.setIsPrimaryKey(true);
ROLE_field.setUnique(false);
ROLE_field.setIsIdentity(false);
//ROLE_field.setForeignKeyFieldName("CMP3_DEPARTMENT.ROLE");
table.addField(ROLE_field);
FieldDefinition LOCATION_field = new FieldDefinition();
LOCATION_field.setName("DEPT_LOCATION");
LOCATION_field.setTypeName("VARCHAR");
LOCATION_field.setSize(40);
LOCATION_field.setShouldAllowNull(false);
LOCATION_field.setIsPrimaryKey(true);
LOCATION_field.setUnique(false);
LOCATION_field.setIsIdentity(false);
//LOCATION_field.setForeignKeyFieldName("CMP3_DEPARTMENT.LOCATION");
table.addField(LOCATION_field);
// SECTION: FIELD
FieldDefinition fieldEMP = new FieldDefinition();
fieldEMP.setName("ADMIN_EMPLOYEE_EMP_ID");
fieldEMP.setTypeName("NUMERIC");
fieldEMP.setSize(15);
fieldEMP.setShouldAllowNull(true);
fieldEMP.setIsPrimaryKey(true);
fieldEMP.setUnique(false);
fieldEMP.setIsIdentity(false);
//fieldEMP.setForeignKeyFieldName("CMP3_EMPLOYEE.EMP_ID");
table.addField(fieldEMP);
FieldDefinition fieldPOOL_ID = new FieldDefinition();
fieldPOOL_ID.setName("POOL_ID");
fieldPOOL_ID.setTypeName("NUMERIC");
fieldPOOL_ID.setSize(15);
fieldPOOL_ID.setShouldAllowNull(true);
fieldPOOL_ID.setIsPrimaryKey(false);
fieldPOOL_ID.setUnique(false);
fieldPOOL_ID.setIsIdentity(false);
table.addField(fieldPOOL_ID);
return table;
}
public static TableDefinition buildDEPT_COMPETENCYTable() {
TableDefinition table = new TableDefinition();
table.setName("DEPT_COMPETENCIES");
FieldDefinition NAME_field = new FieldDefinition();
NAME_field.setName("NAME");
NAME_field.setTypeName("VARCHAR");
NAME_field.setSize(40);
NAME_field.setShouldAllowNull(false);
NAME_field.setIsPrimaryKey(true);
NAME_field.setUnique(false);
NAME_field.setIsIdentity(false);
table.addField(NAME_field);
FieldDefinition ROLE_field = new FieldDefinition();
ROLE_field.setName("DROLE");
ROLE_field.setTypeName("VARCHAR");
ROLE_field.setSize(40);
ROLE_field.setShouldAllowNull(false);
ROLE_field.setIsPrimaryKey(true);
ROLE_field.setUnique(false);
ROLE_field.setIsIdentity(false);
table.addField(ROLE_field);
FieldDefinition LOCATION_field = new FieldDefinition();
LOCATION_field.setName("LOCATION");
LOCATION_field.setTypeName("VARCHAR");
LOCATION_field.setSize(40);
LOCATION_field.setShouldAllowNull(false);
LOCATION_field.setIsPrimaryKey(true);
LOCATION_field.setUnique(false);
LOCATION_field.setIsIdentity(false);
table.addField(LOCATION_field);
FieldDefinition DESCRIP_field = new FieldDefinition();
DESCRIP_field.setName("DESCRIP");
DESCRIP_field.setTypeName("VARCHAR");
DESCRIP_field.setSize(40);
DESCRIP_field.setShouldAllowNull(true);
DESCRIP_field.setIsPrimaryKey(true);
DESCRIP_field.setUnique(false);
DESCRIP_field.setIsIdentity(false);
table.addField(DESCRIP_field);
FieldDefinition RATING_field = new FieldDefinition();
RATING_field.setName("RATING");
RATING_field.setTypeName("NUMERIC");
RATING_field.setSize(10);
RATING_field.setShouldAllowNull(true);
RATING_field.setIsPrimaryKey(false);
RATING_field.setUnique(false);
RATING_field.setIsIdentity(false);
table.addField(RATING_field);
return table;
}
public static TableDefinition buildGENERALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_GENERAL");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("GENERAL_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(true);
table.addField(fieldID);
return table;
}
public static TableDefinition buildGOLFCLUBHEADTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_GOLF_CLUB_HEAD");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
table.addField(fieldID);
return table;
}
public static TableDefinition buildGOLFCLUBORDERTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_GOLF_CLUB_ORDER");
FieldDefinition fieldHEAD_ID = new FieldDefinition();
fieldHEAD_ID.setName("HEAD_ID");
fieldHEAD_ID.setTypeName("NUMERIC");
fieldHEAD_ID.setSize(15);
fieldHEAD_ID.setShouldAllowNull(false);
fieldHEAD_ID.setIsPrimaryKey(true);
fieldHEAD_ID.setUnique(false);
fieldHEAD_ID.setIsIdentity(false);
table.addField(fieldHEAD_ID);
FieldDefinition fieldSHAFT_ID = new FieldDefinition();
fieldSHAFT_ID.setName("SHAFT_ID");
fieldSHAFT_ID.setTypeName("NUMERIC");
fieldSHAFT_ID.setSize(15);
fieldSHAFT_ID.setShouldAllowNull(false);
fieldSHAFT_ID.setIsPrimaryKey(true);
fieldSHAFT_ID.setUnique(false);
fieldSHAFT_ID.setIsIdentity(false);
table.addField(fieldSHAFT_ID);
return table;
}
public static TableDefinition buildGOLFCLUBSHAFTTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_GOLF_CLUB_SHAFT");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
table.addField(fieldID);
return table;
}
public static TableDefinition buildGOLFCLUBTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_GOLFCLUB");
FieldDefinition fieldHEAD_ID = new FieldDefinition();
fieldHEAD_ID.setName("HEAD_ID");
fieldHEAD_ID.setTypeName("NUMERIC");
fieldHEAD_ID.setSize(15);
fieldHEAD_ID.setShouldAllowNull(false);
fieldHEAD_ID.setIsPrimaryKey(true);
fieldHEAD_ID.setUnique(false);
fieldHEAD_ID.setIsIdentity(false);
table.addField(fieldHEAD_ID);
FieldDefinition fieldSHAFT_ID = new FieldDefinition();
fieldSHAFT_ID.setName("SHAFT_ID");
fieldSHAFT_ID.setTypeName("NUMERIC");
fieldSHAFT_ID.setSize(15);
fieldSHAFT_ID.setShouldAllowNull(false);
fieldSHAFT_ID.setIsPrimaryKey(true);
fieldSHAFT_ID.setUnique(false);
fieldSHAFT_ID.setIsIdentity(false);
table.addField(fieldSHAFT_ID);
return table;
}
public static TableDefinition buildLIEUTENANTTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_LIEUTENANT");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildLACKEYTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_LACKEY");
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("NAME");
fieldNAME.setTypeName("VARCHAR");
fieldNAME.setSize(40);
fieldNAME.setShouldAllowNull(true);
fieldNAME.setIsPrimaryKey(false);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("FIRSTNAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("LASTNAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildLACKEYCREWTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_LACKEYCREW");
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("JPA_LACKEYCREW_RANK");
fieldNAME.setTypeName("NUMERIC");
fieldNAME.setSize(15);
fieldNAME.setShouldAllowNull(false);
fieldNAME.setIsPrimaryKey(true);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("FIRSTNAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("LASTNAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildLIEUTENANTGENERALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_LIEUTENANT_GENERAL");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("GENERAL_GENERAL_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(true);
fieldID.setForeignKeyFieldName("JPA_GENERAL.GENERAL_ID");
table.addField(fieldID);
return table;
}
public static TableDefinition buildMAJORTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_MAJOR");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildMAJORGENERALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_MAJOR_GENERAL");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildMASTERCORPORALTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_MASTER_CORPORAL");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("SARGEANT_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(40);
fieldNAME.setShouldAllowNull(false);
fieldNAME.setIsPrimaryKey(true);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
return table;
}
public static TableDefinition buildMASTERCORPORALCLONETable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_MASTER_CORPORAL_CLONE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("SARGEANTPK");
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(40);
fieldNAME.setShouldAllowNull(false);
fieldNAME.setIsPrimaryKey(true);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
return table;
}
public static TableDefinition buildPRIVATETable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_PRIVATE");
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("PRIVATE_NAME");
fieldNAME.setTypeName("VARCHAR");
fieldNAME.setSize(40);
fieldNAME.setShouldAllowNull(false);
fieldNAME.setIsPrimaryKey(true);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildSARGEANTTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_SARGEANT");
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(40);
fieldNAME.setShouldAllowNull(true);
fieldNAME.setIsPrimaryKey(false);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
return table;
}
public static TableDefinition buildSCIENTISTTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_SCIENTIST");
FieldDefinition ID_NUMBER_field = new FieldDefinition();
ID_NUMBER_field.setName("ID_NUMBER");
ID_NUMBER_field.setTypeName("NUMERIC");
ID_NUMBER_field.setSize(15);
ID_NUMBER_field.setShouldAllowNull(false);
ID_NUMBER_field.setIsPrimaryKey(true);
ID_NUMBER_field.setUnique(false);
ID_NUMBER_field.setIsIdentity(true);
table.addField(ID_NUMBER_field);
FieldDefinition F_NAME_field = new FieldDefinition();
F_NAME_field.setName("F_NAME");
F_NAME_field.setTypeName("VARCHAR");
F_NAME_field.setSize(40);
F_NAME_field.setShouldAllowNull(false);
F_NAME_field.setIsPrimaryKey(true);
F_NAME_field.setUnique(false);
F_NAME_field.setIsIdentity(true);
table.addField(F_NAME_field);
FieldDefinition L_NAME_Field = new FieldDefinition();
L_NAME_Field.setName("L_NAME");
L_NAME_Field.setTypeName("VARCHAR");
L_NAME_Field.setSize(40);
L_NAME_Field.setShouldAllowNull(false);
L_NAME_Field.setIsPrimaryKey(true);
L_NAME_Field.setUnique(false);
L_NAME_Field.setIsIdentity(true);
table.addField(L_NAME_Field);
FieldDefinition CUBE_ID_field = new FieldDefinition();
CUBE_ID_field.setName("CUBE_ID");
CUBE_ID_field.setTypeName("NUMERIC");
CUBE_ID_field.setSize(15);
CUBE_ID_field.setShouldAllowNull(true);
CUBE_ID_field.setIsPrimaryKey(false);
CUBE_ID_field.setUnique(false);
CUBE_ID_field.setIsIdentity(false);
table.addField(CUBE_ID_field);
FieldDefinition CUBE_CODE_field = new FieldDefinition();
CUBE_CODE_field.setName("CUBE_CODE");
CUBE_CODE_field.setTypeName("VARCHAR");
CUBE_CODE_field.setSize(1);
CUBE_CODE_field.setShouldAllowNull(true);
CUBE_CODE_field.setIsPrimaryKey(false);
CUBE_CODE_field.setUnique(false);
CUBE_CODE_field.setIsIdentity(false);
table.addField(CUBE_CODE_field);
FieldDefinition DEPT_NAME_field = new FieldDefinition();
DEPT_NAME_field.setName("DEPT_NAME");
DEPT_NAME_field.setTypeName("VARCHAR");
DEPT_NAME_field.setSize(40);
DEPT_NAME_field.setShouldAllowNull(true);
DEPT_NAME_field.setIsPrimaryKey(false);
DEPT_NAME_field.setUnique(false);
DEPT_NAME_field.setIsIdentity(false);
table.addField(DEPT_NAME_field);
FieldDefinition DEPT_ROLE_field = new FieldDefinition();
DEPT_ROLE_field.setName("DEPT_ROLE");
DEPT_ROLE_field.setTypeName("VARCHAR");
DEPT_ROLE_field.setSize(40);
DEPT_ROLE_field.setShouldAllowNull(true);
DEPT_ROLE_field.setIsPrimaryKey(false);
DEPT_ROLE_field.setUnique(false);
DEPT_ROLE_field.setIsIdentity(false);
table.addField(DEPT_ROLE_field);
FieldDefinition DEPT_LOCATION_field = new FieldDefinition();
DEPT_LOCATION_field.setName("DEPT_LOCATION");
DEPT_LOCATION_field.setTypeName("VARCHAR");
DEPT_LOCATION_field.setSize(40);
DEPT_LOCATION_field.setShouldAllowNull(true);
DEPT_LOCATION_field.setIsPrimaryKey(false);
DEPT_LOCATION_field.setUnique(false);
DEPT_LOCATION_field.setIsIdentity(false);
table.addField(DEPT_LOCATION_field);
FieldDefinition fieldDTYPE = new FieldDefinition();
fieldDTYPE.setName("DTYPE");
fieldDTYPE.setTypeName("VARCHAR2");
fieldDTYPE.setSize(20);
fieldDTYPE.setSubSize(0);
fieldDTYPE.setIsPrimaryKey(false);
fieldDTYPE.setIsIdentity(false);
fieldDTYPE.setUnique(false);
fieldDTYPE.setShouldAllowNull(true);
table.addField(fieldDTYPE);
ForeignKeyConstraint fkConstraint1 = new ForeignKeyConstraint();
fkConstraint1.setName("CMP3_SC_CUBICLE");
fkConstraint1.addSourceField("CUBE_ID");
fkConstraint1.addSourceField("CUBE_CODE");
fkConstraint1.setTargetTable("CMP3_CUBICLE");
fkConstraint1.addTargetField("ID");
fkConstraint1.addTargetField("CODE");
table.addForeignKeyConstraint(fkConstraint1);
ForeignKeyConstraint fkConstraint2 = new ForeignKeyConstraint();
fkConstraint2.setName("CMP3_SC_DEPT");
fkConstraint2.addSourceField("DEPT_NAME");
fkConstraint2.addSourceField("DEPT_ROLE");
fkConstraint2.addSourceField("DEPT_LOCATION");
fkConstraint2.setTargetTable("CMP3_DEPARTMENT");
fkConstraint2.addTargetField("NAME");
fkConstraint2.addTargetField("DROLE");
fkConstraint2.addTargetField("LOCATION");
table.addForeignKeyConstraint(fkConstraint2);
return table;
}
public static TableDefinition buildSECONDLIEUTENANTTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_SECOND_LIEUTENANT");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildOFFICERCADETTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_OFFICER_CADET");
FieldDefinition fieldF_NAME = new FieldDefinition();
fieldF_NAME.setName("F_NAME");
fieldF_NAME.setTypeName("VARCHAR");
fieldF_NAME.setSize(40);
fieldF_NAME.setShouldAllowNull(false);
fieldF_NAME.setIsPrimaryKey(true);
fieldF_NAME.setUnique(false);
fieldF_NAME.setIsIdentity(false);
table.addField(fieldF_NAME);
FieldDefinition fieldL_NAME = new FieldDefinition();
fieldL_NAME.setName("L_NAME");
fieldL_NAME.setTypeName("VARCHAR");
fieldL_NAME.setSize(40);
fieldL_NAME.setShouldAllowNull(false);
fieldL_NAME.setIsPrimaryKey(true);
fieldL_NAME.setUnique(false);
fieldL_NAME.setIsIdentity(false);
table.addField(fieldL_NAME);
return table;
}
public static TableDefinition buildOFFICETable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_OFFICE");
FieldDefinition ID_field = new FieldDefinition();
ID_field.setName("ID");
ID_field.setTypeName("NUMERIC");
ID_field.setSize(15);
ID_field.setShouldAllowNull(true);
ID_field.setIsPrimaryKey(true);
ID_field.setUnique(false);
ID_field.setIsIdentity(true);
table.addField(ID_field);
FieldDefinition NAME_field = new FieldDefinition();
NAME_field.setName("NAME");
NAME_field.setTypeName("VARCHAR");
NAME_field.setSize(40);
NAME_field.setShouldAllowNull(false);
NAME_field.setIsPrimaryKey(false);
NAME_field.setUnique(false);
NAME_field.setIsIdentity(false);
table.addField(NAME_field);
FieldDefinition LOCATION_field = new FieldDefinition();
LOCATION_field.setName("LOCATION");
LOCATION_field.setTypeName("VARCHAR");
LOCATION_field.setSize(40);
LOCATION_field.setShouldAllowNull(false);
LOCATION_field.setIsPrimaryKey(true);
LOCATION_field.setUnique(false);
LOCATION_field.setIsIdentity(true);
table.addField(LOCATION_field);
FieldDefinition DROLE_field = new FieldDefinition();
DROLE_field.setName("DROLE");
DROLE_field.setTypeName("VARCHAR");
DROLE_field.setSize(40);
DROLE_field.setShouldAllowNull(false);
DROLE_field.setIsPrimaryKey(false);
DROLE_field.setUnique(false);
DROLE_field.setIsIdentity(false);
table.addField(DROLE_field);
return table;
}
public static TableDefinition buildADMINPOOLTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_ADMIN_POOL");
FieldDefinition ID_field = new FieldDefinition();
ID_field.setName("ID");
ID_field.setTypeName("NUMERIC");
ID_field.setSize(15);
ID_field.setShouldAllowNull(false);
ID_field.setIsPrimaryKey(true);
ID_field.setUnique(false);
ID_field.setIsIdentity(true);
table.addField(ID_field);
FieldDefinition DESCRIPTION_field = new FieldDefinition();
DESCRIPTION_field.setName("DESCRIPTION");
DESCRIPTION_field.setTypeName("VARCHAR");
DESCRIPTION_field.setSize(40);
DESCRIPTION_field.setShouldAllowNull(true);
DESCRIPTION_field.setIsPrimaryKey(false);
DESCRIPTION_field.setUnique(false);
DESCRIPTION_field.setIsIdentity(false);
table.addField(DESCRIPTION_field);
return table;
}
public static TableDefinition buildAUTHORTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_AUTHOR");
FieldDefinition ID_NUMBER_field = new FieldDefinition();
ID_NUMBER_field.setName("ID_NUMBER");
ID_NUMBER_field.setTypeName("NUMERIC");
ID_NUMBER_field.setSize(15);
ID_NUMBER_field.setShouldAllowNull(false);
ID_NUMBER_field.setIsPrimaryKey(true);
ID_NUMBER_field.setUnique(false);
ID_NUMBER_field.setIsIdentity(true);
table.addField(ID_NUMBER_field);
FieldDefinition F_NAME_field = new FieldDefinition();
F_NAME_field.setName("NAME");
F_NAME_field.setTypeName("VARCHAR");
F_NAME_field.setSize(40);
F_NAME_field.setShouldAllowNull(false);
F_NAME_field.setIsPrimaryKey(false);
F_NAME_field.setUnique(false);
F_NAME_field.setIsIdentity(true);
table.addField(F_NAME_field);
return table;
}
public static TableDefinition buildBOOKTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_BOOK");
FieldDefinition ID_NUMBER_field = new FieldDefinition();
ID_NUMBER_field.setName("ID_NUMBER");
ID_NUMBER_field.setTypeName("NUMERIC");
ID_NUMBER_field.setSize(15);
ID_NUMBER_field.setShouldAllowNull(false);
ID_NUMBER_field.setIsPrimaryKey(true);
ID_NUMBER_field.setUnique(false);
ID_NUMBER_field.setIsIdentity(true);
table.addField(ID_NUMBER_field);
FieldDefinition F_NAME_field = new FieldDefinition();
F_NAME_field.setName("TITLE");
F_NAME_field.setTypeName("VARCHAR");
F_NAME_field.setSize(40);
F_NAME_field.setShouldAllowNull(false);
F_NAME_field.setIsPrimaryKey(false);
F_NAME_field.setUnique(false);
F_NAME_field.setIsIdentity(true);
table.addField(F_NAME_field);
return table;
}
/**
* Dropping old foreign keys from schema change.
*/
@Override
public void replaceTables(DatabaseSession session) {
if (session.getPlatform().isInformix()) {
// In Informix, when using GenerationType.IDENTITY to generate values, fields referring to the generated fields
// can't be non-integer. NUMERIC types map to DECIMAL which is incompatible with the generated value's SERIAL type.
adjustForeignKeyFieldTypes(session);
}
try {
if (session.getPlatform().supportsUniqueKeyConstraints()
&& !session.getPlatform().requiresUniqueConstraintCreationOnTableCreate()) {
if (!session.getPlatform().isMySQL()) {
session.executeNonSelectingSQL("Alter table CMP3_SCIENTIST drop constraint CMP3_SCIENTIST_CUBICLE");
session.executeNonSelectingSQL("Alter table CMP3_SCIENTIST drop constraint CMP3_SCIENTIST_DEPT");
}
}
} catch (Exception ignore) {}
super.replaceTables(session);
}
}