protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping; fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN")); fieldTypeMapping.put(Long.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("NUMERIC", 5)); fieldTypeMapping.put(Byte.class, new FieldTypeDefinition("NUMERIC", 3)); fieldTypeMapping.put(java.math.BigInteger.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); fieldTypeMapping.put(Float.class, new FieldTypeDefinition("REAL", false)); fieldTypeMapping.put(Double.class, new FieldTypeDefinition("DOUBLE", false)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(java.math.BigDecimal.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Character.class, new FieldTypeDefinition("CHARACTER")); return fieldTypeMapping; }
protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping; fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN")); fieldTypeMapping.put(Long.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("NUMERIC", 5)); fieldTypeMapping.put(Byte.class, new FieldTypeDefinition("NUMERIC", 3)); fieldTypeMapping.put(java.math.BigInteger.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); fieldTypeMapping.put(Float.class, new FieldTypeDefinition("REAL", false)); fieldTypeMapping.put(Double.class, new FieldTypeDefinition("DOUBLE", false)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(java.math.BigDecimal.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Character.class, new FieldTypeDefinition("CHARACTER")); return fieldTypeMapping; }
@Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); log.info("Generating FieldTypeMapping for PostgreSQL specific network data types"); fieldTypeMapping.put(Network.class, new FieldTypeDefinition("INET", false)); fieldTypeMapping.put(INET, new FieldTypeDefinition("INET", false)); fieldTypeMapping.put(CIDR, new FieldTypeDefinition("CIDR", false)); fieldTypeMapping.put(MACADDR, new FieldTypeDefinition("MACADDR", false)); return fieldTypeMapping; }
/** * INTERNAL: */ protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Byte[].class, new FieldTypeDefinition("BLOB", false)); fieldTypeMapping.put(Character[].class, new FieldTypeDefinition("CLOB", false)); return fieldTypeMapping; }
/** * INTERNAL: */ @Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Byte[].class, new FieldTypeDefinition("BLOB", false)); fieldTypeMapping.put(Character[].class, new FieldTypeDefinition("CLOB", false)); return fieldTypeMapping; }
protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping; fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN")); fieldTypeMapping.put(Long.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("NUMERIC", 5)); fieldTypeMapping.put(Byte.class, new FieldTypeDefinition("NUMERIC", 3)); fieldTypeMapping.put(java.math.BigInteger.class, new FieldTypeDefinition("NUMERIC", 19)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); fieldTypeMapping.put(Float.class, new FieldTypeDefinition("REAL", false)); fieldTypeMapping.put(Double.class, new FieldTypeDefinition("DOUBLE", false)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(java.math.BigDecimal.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DECIMAL")); fieldTypeMapping.put(Character.class, new FieldTypeDefinition("CHARACTER")); return fieldTypeMapping; }
/** * INTERNAL: * Add XMLType as the default database type for org.w3c.dom.Documents. * Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE */ @Override protected Hashtable buildFieldTypes() { Hashtable fieldTypes = super.buildFieldTypes(); fieldTypes.put(org.w3c.dom.Document.class, new FieldTypeDefinition("sys.XMLType")); //Bug#3381652 10g database does not accept Time for DATE field fieldTypes.put(java.sql.Time.class, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(java.sql.Timestamp.class, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMP, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMPTZ, new FieldTypeDefinition("TIMESTAMP WITH TIME ZONE", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMPLTZ, new FieldTypeDefinition("TIMESTAMP WITH LOCAL TIME ZONE", false)); return fieldTypes; }
protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = new Hashtable(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT DEFAULT 0", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); fieldTypeMapping.put(Long.class, new FieldTypeDefinition("BIGINT", false)); fieldTypeMapping.put(Float.class, new FieldTypeDefinition("FLOAT", false)); fieldTypeMapping.put(Double.class, new FieldTypeDefinition("FLOAT", false)); fieldTypeMapping.put(Short.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(Byte.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(java.math.BigInteger.class, new FieldTypeDefinition("BIGINT", false)); fieldTypeMapping.put(java.math.BigDecimal.class, new FieldTypeDefinition("DECIMAL", 15)); fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DECIMAL", 15)); fieldTypeMapping.put(String.class, new FieldTypeDefinition("VARCHAR", 255)); fieldTypeMapping.put(Character.class, new FieldTypeDefinition("CHAR", 1)); fieldTypeMapping.put(Byte[].class, new FieldTypeDefinition("BLOB", MAX_BLOB)); fieldTypeMapping.put(Character[].class, new FieldTypeDefinition("CLOB", MAX_CLOB)); fieldTypeMapping.put(byte[].class, new FieldTypeDefinition("BLOB", MAX_BLOB)); fieldTypeMapping.put(char[].class, new FieldTypeDefinition("CLOB", MAX_CLOB)); fieldTypeMapping.put(java.sql.Blob.class, new FieldTypeDefinition("BLOB", MAX_BLOB)); fieldTypeMapping.put(java.sql.Clob.class, new FieldTypeDefinition("CLOB", MAX_CLOB)); fieldTypeMapping.put(java.sql.Date.class, new FieldTypeDefinition("DATE", false)); fieldTypeMapping.put(java.sql.Time.class, new FieldTypeDefinition("TIME", false)); fieldTypeMapping.put(java.sql.Timestamp.class, new FieldTypeDefinition("TIMESTAMP", false)); return fieldTypeMapping; }
/** * INTERNAL: * Add XMLType as the default database type for org.w3c.dom.Documents. * Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE */ @Override protected Hashtable buildFieldTypes() { Hashtable fieldTypes = super.buildFieldTypes(); fieldTypes.put(org.w3c.dom.Document.class, new FieldTypeDefinition("sys.XMLType")); //Bug#3381652 10g database does not accept Time for DATE field fieldTypes.put(java.sql.Time.class, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(java.sql.Timestamp.class, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMP, new FieldTypeDefinition("TIMESTAMP", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMPTZ, new FieldTypeDefinition("TIMESTAMP WITH TIME ZONE", false)); fieldTypes.put(ORACLE_SQL_TIMESTAMPLTZ, new FieldTypeDefinition("TIMESTAMP WITH LOCAL TIME ZONE", false)); fieldTypes.put(java.time.LocalDate.class, new FieldTypeDefinition("DATE")); fieldTypes.put(java.time.LocalDateTime.class, new FieldTypeDefinition("TIMESTAMP")); fieldTypes.put(java.time.LocalTime.class, new FieldTypeDefinition("TIMESTAMP")); fieldTypes.put(java.time.OffsetDateTime.class, new FieldTypeDefinition("TIMESTAMP")); //TIMESTAMP WITH TIME ZONE ??? fieldTypes.put(java.time.OffsetTime.class, new FieldTypeDefinition("TIMESTAMP")); //TIMESTAMP WITH TIME ZONE ??? return fieldTypes; }
@Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false)); return fieldTypeMapping; }
@Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false)); return fieldTypeMapping; }
@Override protected Hashtable buildFieldTypes() { Hashtable<Class<?>, Object> res = super.buildFieldTypes(); if (getUseNationalCharacterVaryingTypeForString()) { res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE)); } return res; }
@Override protected Hashtable buildFieldTypes() { Hashtable<Class<?>, Object> res = super.buildFieldTypes(); if (getUseNationalCharacterVaryingTypeForString()) { res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE)); } return res; }
@Override protected Hashtable buildFieldTypes() { Hashtable<Class<?>, Object> res = super.buildFieldTypes(); if (getUseNationalCharacterVaryingTypeForString()) { res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE)); } return res; }
@Override /** * EclipseLink does not support length dependent type mapping. * Map varchar types with length > MAX_VARCHAR_UNICODE_LENGTH to CLOB (i.e clob); shorter types to NVARCHAR (n) * See also bugs 317597, 317448 */ protected void printFieldTypeSize(Writer writer, FieldDefinition field, FieldTypeDefinition fieldType) throws IOException { String typeName = fieldType.getName(); if ("NVARCHAR".equals(typeName)) { if (field.getSize() > MAX_VARTYPE_LENGTH) { fieldType = new FieldTypeDefinition("NCLOB", false); } } else if ("VARBINARY".equals(typeName)) { if (field.getSize() > MAX_VARTYPE_LENGTH || field.getSize() == 0) { fieldType = new FieldTypeDefinition("BLOB", false); } } super.printFieldTypeSize(writer, field, fieldType); if (fieldType.getTypesuffix() != null) { writer.append(" " + fieldType.getTypesuffix()); } }
/** * INTERNAL: * Retrieve a database platform specific definition from session for * existing type instance or build a new one when type is {@code null}. * @param session Session to search for already existing instances. * @param type Field type class. * @param name Filed type name. * @return Database platform specific definition instance. * @throws ValidationException when provided type is not valid database type. */ protected static final FieldTypeDefinition getFieldTypeDefinition( final AbstractSession session, final Class type, final String name) { final FieldTypeDefinition fieldType = type != null ? session.getPlatform().getFieldTypeDefinition(type) : new FieldTypeDefinition(name); if (fieldType == null) { throw ValidationException.javaTypeIsNotAValidDatabaseType(type); } return fieldType; }
/** * INTERNAL: * Retrieve a database platform specific definition from session for * existing type instance or build a new one when type is {@code null}. * @param session Session to search for already existing instances. * @param type Field type class. * @param name Filed type name. * @return Database platform specific definition instance. * @throws ValidationException when provided type is not valid database type. */ protected static final FieldTypeDefinition getFieldTypeDefinition( final AbstractSession session, final Class type, final String name) { final FieldTypeDefinition fieldType = type != null ? session.getPlatform().getFieldTypeDefinition(type) : new FieldTypeDefinition(name); if (fieldType == null) { throw ValidationException.javaTypeIsNotAValidDatabaseType(type); } return fieldType; }
/** * INTERNAL: * Append the type. */ public void appendTypeString(Writer writer, AbstractSession session) throws ValidationException { try { FieldTypeDefinition fieldType; if (getType() == null) { throw ValidationException.oracleObjectTypeIsNotDefined(getTypeName()); } else if (getTypeName() == "") { throw ValidationException.oracleObjectTypeNameIsNotDefined(getType()); } else { fieldType = new FieldTypeDefinition(getTypeName()); } writer.write(fieldType.getName()); if (!isNullAllowed) { writer.write(" NOT NULL"); } } catch (IOException ioException) { throw ValidationException.fileError(ioException); } }
/** * INTERNAL: * Append the type. */ public void appendTypeString(Writer writer, AbstractSession session) throws ValidationException { try { FieldTypeDefinition fieldType; if (getType() == null) { throw ValidationException.oracleObjectTypeIsNotDefined(getTypeName()); } else if (getTypeName() == "") { throw ValidationException.oracleObjectTypeNameIsNotDefined(getType()); } else { fieldType = new FieldTypeDefinition(getTypeName()); } writer.write(fieldType.getName()); if (!isNullAllowed) { writer.write(" NOT NULL"); } } catch (IOException ioException) { throw ValidationException.fileError(ioException); } }
/** * INTERNAL: * Append the type. */ public void appendTypeString(Writer writer, AbstractSession session) throws ValidationException { try { FieldTypeDefinition fieldType; if (getType() == null) { throw ValidationException.oracleObjectTypeIsNotDefined(getTypeName()); } else if (getTypeName() == "") { throw ValidationException.oracleObjectTypeNameIsNotDefined(getType()); } else { fieldType = new FieldTypeDefinition(getTypeName()); } writer.write(fieldType.getName()); if (!isNullAllowed) { writer.write(" NOT NULL"); } } catch (IOException ioException) { throw ValidationException.fileError(ioException); } }