}
}
public void load(CmpEntityBeanContext ctx, FieldState state) {
Object value;
EntityTable relatedTable = relatedEntity.getTable();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
if (log.isDebugEnabled()) {
log.debug("executing: " + loadSql);
}
con = relatedTable.getDataSource().getConnection();
ps = con.prepareStatement(loadSql);
JDBCCMPFieldBridge2[] relatedFkFields = relatedCMRField.foreignKeyFields;
JDBCCMPFieldBridge2[] myPkFields = relatedCMRField.relatedPKFields;
Object myPk = ctx.getPrimaryKey();
int paramInd = 1;
for (int i = 0; i < relatedFkFields.length; ++i) {
JDBCCMPFieldBridge2 myPkField = myPkFields[i];
Object fieldValue = myPkField.getPrimaryKeyValue(myPk);
JDBCCMPFieldBridge2 relatedFkField = relatedFkFields[i];
relatedFkField.setArgumentParameters(ps, paramInd++, fieldValue);
}
rs = ps.executeQuery();
while (rs.next()) {
value = relatedTable.loadRow(rs, false);
state.addLoadedPk(value);
}
} catch (SQLException e) {
throw CmpMessages.MESSAGES.failedToLoadRelatedRole(entity.getEntityName(), getFieldName(), e);
} finally {