Прежде всего, никогда не используйте конкатенацию строк для установки переменных полей в SQL.
String queryString = "select emp from Employee emp where emp.id = :id and emp.status.statusCd = 'A'";
Query query = Session.createQuery(queryString);
query.setInteger("id", 168);
Во-вторых, вы можете попытаться получить все целевые записи одним запросом, docs :
String queryString = "select emp from Employee emp where emp.id in (:id) and emp.status.statusCd = 'A'";
Query query = Session.createQuery(queryString);
Collection<Integer> idList = new ArrayList<Integer>();
query.setParameterList("id", idList);
Затем вы будете перебирать результаты этого запроса и обрабатывать каждую запись так, как вы обрабатывали их ранее.
В-третьих, если вы выполняете дополнительный SQL при обработке каждой отдельной записи, то выследует также собрать их и выполнить их в партии .