@Override
public <E> List<E> getColumnsById(String schemaName, String tableName, String pKeyColumnName, String columnName,
Object pKeyColumnValue, Class columnJavaType)
{
List<E> foreignKeys = new ArrayList<E>();
Table schemaTable = tableAPI.getTable(tableName);
Index index = schemaTable.getIndex(pKeyColumnName);
IndexKey indexKey = index.createIndexKey();
NoSqlDBUtils.add(schemaTable.getField(pKeyColumnName), indexKey, pKeyColumnValue, pKeyColumnName);
KunderaCoreUtils.printQuery(
"Get columns by id from:" + tableName + " for column:" + columnName + " where value:" + pKeyColumnValue,
showQuery);
Iterator<Row> rowsIter = tableAPI.tableIterator(indexKey, null, null);
while (rowsIter.hasNext())
{
Row row = rowsIter.next();
FieldDef fieldMetadata = schemaTable.getField(columnName);
FieldValue value = row.get(columnName);
foreignKeys.add((E) NoSqlDBUtils.get(fieldMetadata, value, null));
}
return foreignKeys;
}