blob: f6c89a6757dbffddf3209bf674ca1ee7331b007b [file] [log] [blame]
/*
* 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;
}
}