You could simply add a "random" Id to the Query result set and make Hibernate happy i.e.
SELECT
MAX(YOUR_ID_COLUMN) AS {position.id},
SUM(LEG_ONE_NOMINAL) AS {position.quantity},
ID_INSTRUMENT AS {position.instrument}
FROM MY_TABLE WHERE SRC_PORTFOLIO= :portfolio GROUP BY ID_INSTRUMENT