protected static void writeUniqueFieldName(Writer writer, DatabaseField field) throws IOException { // EMPLOYEE_EMP_ID writer.write(field.getTableName()); writer.write("_"); writer.write(field.getName()); }
/** * Determine whether the receiver is equal to a DatabaseField. * Return true if the receiver and field have the same name and table. * Also return true if the table of the receiver or field are unspecfied, * ie. have no name. */ public boolean equals(DatabaseField field) { if (this == field) { return true; } if (field != null) { if (DatabasePlatform.shouldIgnoreCaseOnFieldComparisons()) { if (getName().equalsIgnoreCase(field.getName())) { if ((getTableName().length() == 0) || (field.getTableName().length() == 0)) { return true; } return (getTable().equals(field.getTable())); } } else { if (getName().equals(field.getName())) { if ((getTableName().length() == 0) || (field.getTableName().length() == 0)) { return true; } return (getTable().equals(field.getTable())); } } } return false; }
/** * INTERNAL: * When given an expression, this method will return a new expression * with the optimistic locking values included. The values are taken * from the passed in database row. This expression will be used in * an update call. */ public Expression buildUpdateExpression(DatabaseTable table, Expression mainExpression, AbstractRecord row, AbstractRecord row2) { if (cachedExpression == null) { cachedExpression = buildExpression(); } if (getWriteLockField().getTableName().equals(table.getName())) { return mainExpression.and(cachedExpression); } return mainExpression; }
/** * The reference keys on the reference table are initalized */ protected void initializeReferenceKeys(AbstractSession session) throws DescriptorException { if (getReferenceKeyFields().size() == 0) { throw DescriptorException.noReferenceKeyIsSpecified(this); } for (Enumeration referenceEnum = getReferenceKeyFields().elements(); referenceEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)referenceEnum.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getReferenceTable().getName())))) { throw DescriptorException.referenceKeyFieldNotProperlySpecified(field, this); } field.setTable(getReferenceTable()); } }
/** * INTERNAL: * All the source relation key field names are converted to DatabaseField and stored. */ protected void initializeSourceRelationKeys(AbstractSession session) throws DescriptorException { if (getSourceRelationKeyFields().size() == 0) { throw DescriptorException.noSourceRelationKeysSpecified(this); } for (Enumeration entry = getSourceRelationKeyFields().elements(); entry.hasMoreElements();) { DatabaseField field = (DatabaseField)entry.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getRelationTable().getName())))) { throw DescriptorException.relationKeyFieldNotProperlySpecified(field, this); } field.setTable(getRelationTable()); } }
/** * INTERNAL: * All the target relation key field names are converted to DatabaseField and stored. */ protected void initializeTargetRelationKeys(AbstractSession session) { if (getTargetRelationKeyFields().size() == 0) { throw DescriptorException.noTargetRelationKeysSpecified(this); } for (Enumeration targetEnum = getTargetRelationKeyFields().elements(); targetEnum.hasMoreElements();) { DatabaseField field = (DatabaseField)targetEnum.nextElement(); if (field.hasTableName() && (!(field.getTableName().equals(getRelationTable().getName())))) { throw DescriptorException.relationKeyFieldNotProperlySpecified(field, this); } field.setTable(getRelationTable()); } }
/** * INTERNAL: * The table of the field is ensured to be unique from the descriptor's tables. * If the field has no table the default table is assigned. * This is used only in initialization. */ public void buildField(DatabaseField field) { DatabaseTable table; if (field.hasTableName()) { table = getTable(field.getTableName()); } else { table = getDefaultTable(); } field.setTable(table); }
tblDef = tableMap.get(dbField.getTableName());
/** * INTERNAL: * A DatabaseField is built from the given field name. */ // * added 9/7/00 by Les Davis // * bug fix for null pointer in initialization of mappings in remote session public DatabaseField buildField(String fieldName) { DatabaseField field = new DatabaseField(fieldName); DatabaseTable table; if (field.hasTableName()) { table = getTable(field.getTableName()); } else if (getDefaultTable() != null) { table = getDefaultTable(); } else { table = getTable(getTableName()); } field.setTable(table); return field; }
List<DatabaseField> fields = mapping.getFields(); for (DatabaseField field : fields) { DataTable table = dataSet.getTable(field.getTableName()); DataRow row = getRow(rowMap, table); Object value = mapping.getAttributeValueFromObject(entity); InheritancePolicy inheritancePolicy = getEntityDesc().getInheritancePolicy(); DatabaseField field = inheritancePolicy.getClassIndicatorField(); DataTable table = dataSet.getTable(field.getTableName()); DataRow row = getRow(rowMap, table); Object value = inheritancePolicy.getClassIndicatorMapping().get(getEntityDesc().getEntityClass());
if (field.getTableName().equals("")) { field.setTableName(m_descriptor.getPrimaryTableName());
/** * entityDescからdataSetのカラム定義を生成します。 */ protected void setupAttributeColumns() { ServerSession serverSession = getEntityDesc().getServerSession(); ClassDescriptor cd = serverSession.getClassDescriptor(getEntityDesc().getEntityClass()); DatabasePlatform platform = serverSession.getPlatform(); for (DatabaseField field : cd.getFields()) { DataTable table = dataSet.getTable(field.getTableName()); int sqlType = platform.getJDBCType(field); String columnName = field.getName(); if (!table.hasColumn(columnName)) { table.addColumn(columnName, ColumnTypes.getColumnType(sqlType)); } } }
/** * entityDescからInheritancePolicyを取得し、継承関連のカラムをdataSetに定義します。 */ protected void setupDiscriminatorColumn() { if (!getEntityDesc().hasDiscriminatorColumn()) { return; } InheritancePolicy inheritancePolicy = getEntityDesc().getInheritancePolicy(); DatabaseField field = inheritancePolicy.getClassIndicatorField(); DataTable table = dataSet.getTable(field.getTableName()); ServerSession serverSession = getEntityDesc().getServerSession(); DatabasePlatform platform = serverSession.getPlatform(); int sqlType = platform.getJDBCType(field); String columnName = field.getName(); if (!table.hasColumn(columnName)) { table.addColumn(columnName, ColumnTypes.getColumnType(sqlType)); } }
fkField.setName(getName(fkField, defaultFKFieldName, MetadataLogger.FK_COLUMN)); if (fkField.getTableName().equals("")) { fkField.setTableName(m_descriptor.getPrimaryTableName());