Невозможно, поскольку данные находятся в сеансе (если вы не хотите записывать данные сеанса в БД) .
Могу ли я предложить этот подход
SELECT i.id, i.price
FROM item i
WHERE i.id in (array.keys)
при условии, что результат помещен в коллекцию,
пусть itemResult
будет коллекция
затем повторить
var total = 0
for(var item : itemResult)
total += item.price * array[i.id]
total
будет содержать сумму с использованием этого псевдокода