| /* |
| * 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.lob; |
| |
| import org.eclipse.persistence.tools.schemaframework.FieldDefinition; |
| import org.eclipse.persistence.tools.schemaframework.TableDefinition; |
| |
| public class LobTableCreator extends org.eclipse.persistence.tools.schemaframework.TableCreator { |
| |
| public LobTableCreator() { |
| setName("lob"); |
| |
| addTableDefinition(buildCLIPTable()); |
| addTableDefinition(buildIMAGETable()); |
| } |
| |
| public TableDefinition buildCLIPTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_CLIP"); |
| |
| FieldDefinition fieldAUDIO = new FieldDefinition(); |
| fieldAUDIO.setName("AUDIO"); |
| fieldAUDIO.setTypeName("BLOB"); |
| fieldAUDIO.setSize(4800); |
| fieldAUDIO.setSubSize(0); |
| fieldAUDIO.setIsPrimaryKey(false); |
| fieldAUDIO.setIsIdentity(false); |
| fieldAUDIO.setUnique(false); |
| fieldAUDIO.setShouldAllowNull(true); |
| table.addField(fieldAUDIO); |
| |
| FieldDefinition fieldCOMMENTARY = new FieldDefinition(); |
| fieldCOMMENTARY.setName("COMMENTARY"); |
| fieldCOMMENTARY.setTypeName("CLOB"); |
| fieldCOMMENTARY.setSize(4500); |
| fieldCOMMENTARY.setSubSize(0); |
| fieldCOMMENTARY.setIsPrimaryKey(false); |
| fieldCOMMENTARY.setIsIdentity(false); |
| fieldCOMMENTARY.setUnique(false); |
| fieldCOMMENTARY.setShouldAllowNull(true); |
| table.addField(fieldCOMMENTARY); |
| |
| FieldDefinition fieldID = new FieldDefinition(); |
| fieldID.setName("ID"); |
| fieldID.setTypeName("NUMBER"); |
| fieldID.setSize(18); |
| fieldID.setSubSize(0); |
| fieldID.setIsPrimaryKey(true); |
| fieldID.setIsIdentity(false); |
| fieldID.setUnique(false); |
| fieldID.setShouldAllowNull(false); |
| table.addField(fieldID); |
| |
| return table; |
| } |
| |
| public TableDefinition buildIMAGETable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_IMAGE"); |
| |
| FieldDefinition fieldID = new FieldDefinition(); |
| fieldID.setName("ID"); |
| fieldID.setTypeName("NUMBER"); |
| fieldID.setSize(18); |
| fieldID.setSubSize(0); |
| fieldID.setIsPrimaryKey(true); |
| fieldID.setIsIdentity(false); |
| fieldID.setUnique(false); |
| fieldID.setShouldAllowNull(false); |
| table.addField(fieldID); |
| |
| FieldDefinition fieldPICTURE = new FieldDefinition(); |
| fieldPICTURE.setName("PICTURE"); |
| fieldPICTURE.setTypeName("BLOB"); |
| fieldPICTURE.setSize(4800); |
| fieldPICTURE.setSubSize(0); |
| fieldPICTURE.setIsPrimaryKey(false); |
| fieldPICTURE.setIsIdentity(false); |
| fieldPICTURE.setUnique(false); |
| fieldPICTURE.setShouldAllowNull(true); |
| table.addField(fieldPICTURE); |
| |
| FieldDefinition fieldSCRIPT = new FieldDefinition(); |
| fieldSCRIPT.setName("SCRIPT"); |
| fieldSCRIPT.setTypeName("CLOB"); |
| fieldSCRIPT.setSize(4500); |
| fieldSCRIPT.setSubSize(0); |
| fieldSCRIPT.setIsPrimaryKey(false); |
| fieldSCRIPT.setIsIdentity(false); |
| fieldSCRIPT.setUnique(false); |
| fieldSCRIPT.setShouldAllowNull(true); |
| table.addField(fieldSCRIPT); |
| |
| FieldDefinition fieldCUSTOMATTRIBUTE1 = new FieldDefinition(); |
| fieldCUSTOMATTRIBUTE1.setName("CUSTOMATTRIBUTE1"); |
| fieldCUSTOMATTRIBUTE1.setTypeName("BLOB"); |
| fieldCUSTOMATTRIBUTE1.setSize(0); |
| fieldCUSTOMATTRIBUTE1.setSubSize(0); |
| fieldCUSTOMATTRIBUTE1.setIsPrimaryKey(false); |
| fieldCUSTOMATTRIBUTE1.setIsIdentity(false); |
| fieldCUSTOMATTRIBUTE1.setUnique(false); |
| fieldCUSTOMATTRIBUTE1.setShouldAllowNull(true); |
| table.addField(fieldCUSTOMATTRIBUTE1); |
| |
| FieldDefinition fieldCUSTOMATTRIBUTE2 = new FieldDefinition(); |
| fieldCUSTOMATTRIBUTE2.setName("CUSTOMATTRIBUTE2"); |
| fieldCUSTOMATTRIBUTE2.setTypeName("BLOB"); |
| fieldCUSTOMATTRIBUTE2.setSize(0); |
| fieldCUSTOMATTRIBUTE2.setSubSize(0); |
| fieldCUSTOMATTRIBUTE2.setIsPrimaryKey(false); |
| fieldCUSTOMATTRIBUTE2.setIsIdentity(false); |
| fieldCUSTOMATTRIBUTE2.setUnique(false); |
| fieldCUSTOMATTRIBUTE2.setShouldAllowNull(true); |
| table.addField(fieldCUSTOMATTRIBUTE2); |
| |
| FieldDefinition fieldXML1 = new FieldDefinition(); |
| fieldXML1.setName("XML1"); |
| fieldXML1.setTypeName("CLOB"); |
| fieldXML1.setSize(4500); |
| table.addField(fieldXML1); |
| |
| FieldDefinition fieldXML2 = new FieldDefinition(); |
| fieldXML2.setName("XML2"); |
| fieldXML2.setTypeName("CLOB"); |
| fieldXML2.setSize(4500); |
| table.addField(fieldXML2); |
| |
| FieldDefinition fieldJSON1 = new FieldDefinition(); |
| fieldJSON1.setName("JSON1"); |
| fieldJSON1.setTypeName("CLOB"); |
| fieldJSON1.setSize(4500); |
| table.addField(fieldJSON1); |
| |
| FieldDefinition fieldJSON2 = new FieldDefinition(); |
| fieldJSON2.setName("JSON2"); |
| fieldJSON2.setTypeName("CLOB"); |
| fieldJSON2.setSize(4500); |
| table.addField(fieldJSON2); |
| |
| return table; |
| } |
| |
| } |