@Override public void populateJoinColumn(FieldMapping fm, Table local, Table foreign, Column col, Object target, int pos, int cols) { // only use spec defaults with column targets if (!(target instanceof Column)) return; // if this is a bidi relation, prefix with inverse field name, else // prefix with owning entity name FieldMapping[] inverses = fm.getInverseMappings(); DBIdentifier sName = DBIdentifier.NULL; if (inverses.length > 0) sName = DBIdentifier.newColumn(inverses[0].getName()); else sName = DBIdentifier.newColumn(fm.getDefiningMapping().getTypeAlias()); DBIdentifier targetName = ((Column) target).getIdentifier(); DBIdentifier tempName = DBIdentifier.NULL; if ((sName.length() + targetName.length()) >= dict.maxColumnNameLength) tempName = DBIdentifier.truncate(sName, dict.maxColumnNameLength - targetName.length() - 1); // suffix with '_' + target column if (DBIdentifier.isNull(tempName)) tempName = sName; sName = DBIdentifier.combine(tempName, targetName.getName()); sName = dict.getValidColumnName(sName, foreign); col.setIdentifier(sName); }
@Override public void populateJoinColumn(FieldMapping fm, Table local, Table foreign, Column col, Object target, int pos, int cols) { // only use spec defaults with column targets if (!(target instanceof Column)) return; // if this is a bidi relation, prefix with inverse field name, else // prefix with owning entity name FieldMapping[] inverses = fm.getInverseMappings(); DBIdentifier sName = DBIdentifier.NULL; if (inverses.length > 0) sName = DBIdentifier.newColumn(inverses[0].getName()); else sName = DBIdentifier.newColumn(fm.getDefiningMapping().getTypeAlias()); DBIdentifier targetName = ((Column) target).getIdentifier(); DBIdentifier tempName = DBIdentifier.NULL; if ((sName.length() + targetName.length()) >= dict.maxColumnNameLength) tempName = DBIdentifier.truncate(sName, dict.maxColumnNameLength - targetName.length() - 1); // suffix with '_' + target column if (DBIdentifier.isNull(tempName)) tempName = sName; sName = DBIdentifier.combine(tempName, targetName.getName()); sName = dict.getValidColumnName(sName, foreign); col.setIdentifier(sName); }
@Override public void populateJoinColumn(FieldMapping fm, Table local, Table foreign, Column col, Object target, int pos, int cols) { // only use spec defaults with column targets if (!(target instanceof Column)) return; // if this is a bidi relation, prefix with inverse field name, else // prefix with owning entity name FieldMapping[] inverses = fm.getInverseMappings(); DBIdentifier sName = DBIdentifier.NULL; if (inverses.length > 0) sName = DBIdentifier.newColumn(inverses[0].getName()); else sName = DBIdentifier.newColumn(fm.getDefiningMapping().getTypeAlias()); DBIdentifier targetName = ((Column) target).getIdentifier(); DBIdentifier tempName = DBIdentifier.NULL; if ((sName.length() + targetName.length()) >= dict.maxColumnNameLength) tempName = DBIdentifier.truncate(sName, dict.maxColumnNameLength - targetName.length() - 1); // suffix with '_' + target column if (DBIdentifier.isNull(tempName)) tempName = sName; sName = DBIdentifier.combine(tempName, targetName.getName()); sName = dict.getValidColumnName(sName, foreign); col.setIdentifier(sName); }