| /* |
| * Copyright (c) 1998, 2020 Oracle and/or its affiliates. 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 |
| package org.eclipse.persistence.testing.models.jpa.jpaadvancedproperties; |
| |
| import org.eclipse.persistence.tools.schemaframework.FieldDefinition; |
| import org.eclipse.persistence.tools.schemaframework.TableCreator; |
| import org.eclipse.persistence.tools.schemaframework.TableDefinition; |
| |
| public class JPAPropertiesRelationshipTableManager extends TableCreator { |
| |
| public static TableCreator tableCreator; |
| |
| public JPAPropertiesRelationshipTableManager() { |
| setName("JPAAdvPropertiesRelationships"); |
| addTableDefinition(buildCUSTOMERTable()); |
| addTableDefinition(buildITEMTable()); |
| addTableDefinition(buildISOLATEDITEMTable()); |
| addTableDefinition(buildORDERTable()); |
| addTableDefinition(buildSEQTable()); |
| addTableDefinition(buildSALESPERSONTable()); |
| addTableDefinition(buildCUSTOMER_CUSTOMERTable()); |
| } |
| |
| public static TableCreator getCreator(){ |
| if (JPAPropertiesRelationshipTableManager.tableCreator == null){ |
| JPAPropertiesRelationshipTableManager.tableCreator = new JPAPropertiesRelationshipTableManager(); |
| } |
| return JPAPropertiesRelationshipTableManager.tableCreator; |
| } |
| |
| public static TableDefinition buildCUSTOMERTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_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("NUMERIC"); |
| fieldCUST_ID.setSize(15); |
| fieldCUST_ID.setSubSize(0); |
| fieldCUST_ID.setIsPrimaryKey(true); |
| fieldCUST_ID.setIsIdentity(true); |
| 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 static TableDefinition buildISOLATEDITEMTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_ISOLATED_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("NUMERIC"); |
| fieldITEM_ID.setSize(15); |
| fieldITEM_ID.setSubSize(0); |
| fieldITEM_ID.setIsPrimaryKey(true); |
| fieldITEM_ID.setIsIdentity(true); |
| 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); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildITEMTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_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("NUMERIC"); |
| fieldITEM_ID.setSize(15); |
| fieldITEM_ID.setSubSize(0); |
| fieldITEM_ID.setIsPrimaryKey(true); |
| fieldITEM_ID.setIsIdentity(true); |
| 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); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildORDERTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_ORDER"); |
| |
| FieldDefinition fieldCUST_ID = new FieldDefinition(); |
| fieldCUST_ID.setName("CUSTOMER_CUST_ID"); |
| fieldCUST_ID.setTypeName("NUMERIC"); |
| fieldCUST_ID.setSize(15); |
| fieldCUST_ID.setSubSize(0); |
| fieldCUST_ID.setIsPrimaryKey(false); |
| fieldCUST_ID.setIsIdentity(false); |
| fieldCUST_ID.setUnique(false); |
| fieldCUST_ID.setShouldAllowNull(true); |
| table.addField(fieldCUST_ID); |
| |
| FieldDefinition fieldBILLED_CUST_ID = new FieldDefinition(); |
| fieldBILLED_CUST_ID.setName("BILLEDCUSTOMER_CUST_ID"); |
| fieldBILLED_CUST_ID.setTypeName("NUMERIC"); |
| fieldBILLED_CUST_ID.setSize(15); |
| fieldBILLED_CUST_ID.setSubSize(0); |
| fieldBILLED_CUST_ID.setIsPrimaryKey(false); |
| fieldBILLED_CUST_ID.setIsIdentity(false); |
| fieldBILLED_CUST_ID.setUnique(false); |
| fieldBILLED_CUST_ID.setShouldAllowNull(true); |
| table.addField(fieldBILLED_CUST_ID); |
| |
| FieldDefinition fieldSALESPERSON_ID = new FieldDefinition(); |
| fieldSALESPERSON_ID.setName("SALESPERSON_ID"); |
| fieldSALESPERSON_ID.setTypeName("NUMERIC"); |
| fieldSALESPERSON_ID.setSize(15); |
| fieldSALESPERSON_ID.setSubSize(0); |
| fieldSALESPERSON_ID.setIsPrimaryKey(false); |
| fieldSALESPERSON_ID.setIsIdentity(false); |
| fieldSALESPERSON_ID.setUnique(false); |
| fieldSALESPERSON_ID.setShouldAllowNull(true); |
| table.addField(fieldSALESPERSON_ID); |
| |
| FieldDefinition fieldITEM_ID = new FieldDefinition(); |
| fieldITEM_ID.setName("ITEM_ID"); |
| fieldITEM_ID.setTypeName("NUMERIC"); |
| fieldITEM_ID.setSize(15); |
| fieldITEM_ID.setSubSize(0); |
| fieldITEM_ID.setIsPrimaryKey(false); |
| fieldITEM_ID.setIsIdentity(false); |
| fieldITEM_ID.setUnique(false); |
| fieldITEM_ID.setShouldAllowNull(true); |
| table.addField(fieldITEM_ID); |
| |
| FieldDefinition fieldORDER_ID = new FieldDefinition(); |
| fieldORDER_ID.setName("ORDER_ID"); |
| fieldORDER_ID.setTypeName("NUMERIC"); |
| fieldORDER_ID.setSize(15); |
| fieldORDER_ID.setSubSize(0); |
| fieldORDER_ID.setIsPrimaryKey(true); |
| fieldORDER_ID.setIsIdentity(true); |
| fieldORDER_ID.setUnique(false); |
| fieldORDER_ID.setShouldAllowNull(false); |
| table.addField(fieldORDER_ID); |
| |
| FieldDefinition fieldQUANTITY = new FieldDefinition(); |
| fieldQUANTITY.setName("QUANTITY"); |
| fieldQUANTITY.setTypeName("NUMERIC"); |
| fieldQUANTITY.setSize(15); |
| fieldQUANTITY.setSubSize(0); |
| fieldQUANTITY.setIsPrimaryKey(false); |
| fieldQUANTITY.setIsIdentity(false); |
| fieldQUANTITY.setUnique(false); |
| fieldQUANTITY.setShouldAllowNull(false); |
| table.addField(fieldQUANTITY); |
| |
| FieldDefinition fieldSHIP_ADDR = new FieldDefinition(); |
| fieldSHIP_ADDR.setName("SHIP_ADDR"); |
| fieldSHIP_ADDR.setTypeName("VARCHAR2"); |
| fieldSHIP_ADDR.setSize(80); |
| fieldSHIP_ADDR.setSubSize(0); |
| fieldSHIP_ADDR.setIsPrimaryKey(false); |
| fieldSHIP_ADDR.setIsIdentity(false); |
| fieldSHIP_ADDR.setUnique(false); |
| fieldSHIP_ADDR.setShouldAllowNull(true); |
| table.addField(fieldSHIP_ADDR); |
| |
| FieldDefinition field10 = new FieldDefinition(); |
| field10.setName("ORDER_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 static TableDefinition buildSEQTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_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 buildSALESPERSONTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("JPA_PROPS_SALESPERSON"); |
| |
| 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 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 static TableDefinition buildCUSTOMER_CUSTOMERTable() { |
| TableDefinition table = new TableDefinition(); |
| |
| table.setName("JPA_PROPS_C_C"); |
| |
| // SECTION: FIELD |
| FieldDefinition field = new FieldDefinition(); |
| field.setName("C_C_ID"); |
| field.setTypeName("NUMERIC"); |
| field.setSize(15); |
| field.setShouldAllowNull(false); |
| field.setIsPrimaryKey(true); |
| field.setUnique(false); |
| field.setIsIdentity(false); |
| field.setForeignKeyFieldName("JPA_PROPS_CUSTOMER.CUST_ID"); |
| table.addField(field); |
| |
| // SECTION: FIELD |
| FieldDefinition field1 = new FieldDefinition(); |
| field1.setName("CC_C_ID"); |
| field1.setTypeName("NUMERIC"); |
| field1.setSize(15); |
| field1.setShouldAllowNull(false); |
| field1.setIsPrimaryKey(true); |
| field1.setUnique(false); |
| field1.setIsIdentity(false); |
| field1.setForeignKeyFieldName("JPA_PROPS_CUSTOMER.CUST_ID"); |
| table.addField(field1); |
| |
| return table; |
| } |
| } |