}
private void addForeignKeyConstraint(JDBCAbstractCMRFieldBridge cmrField)
throws DeploymentException
{
JDBCRelationshipRoleMetaData metaData = cmrField.getMetaData();
if(metaData.hasForeignKeyConstraint())
{
if(metaData.getRelationMetaData().isTableMappingStyle())
{
addForeignKeyConstraint(metaData.getRelationMetaData().getDataSource(),
cmrField.getQualifiedTableName(),
cmrField.getFieldName(),
cmrField.getTableKeyFields(),
cmrField.getEntity().getQualifiedTableName(),
cmrField.getEntity().getPrimaryKeyFields());
}
else if(cmrField.hasForeignKey())
{
JDBCAbstractEntityBridge relatedEntity = (JDBCAbstractEntityBridge) cmrField.getRelatedEntity();
addForeignKeyConstraint(cmrField.getEntity().getDataSource(),
cmrField.getEntity().getQualifiedTableName(),
cmrField.getFieldName(),
cmrField.getForeignKeyFields(),
relatedEntity.getQualifiedTableName(),
relatedEntity.getPrimaryKeyFields());
}
}
else
{
log.debug("Foreign key constraint not added as requested: relationshipRolename=" + metaData.getRelationshipRoleName());
}
}