J'espère/pense que vous pouvez utiliser un bloc PL/SQL anonyme :
begin:myresult =copy_entity(:id);end;
Vous avez maintenant 'nom de colonne' myresult avec le résultat.
Je n'ai jamais utilisé l'hibernation donc j'espère que ça marche. Je ne sais pas à quel point Hibernate est flexible.