Používáte kontejner ke správě persistence. Použitím transakce VYŽADOVÁNO JPA zahájí novou transakci pro každé volání do databáze. Proto není nutné spouštět nebo potvrzovat transakci v rámci uložené procedury. Ve skutečnosti je to špatný nápad.
Nezmiňujete, zda v uložené proceduře zahájíte novou transakci, ale pouze to, že tam máte potvrzení. Pokud nezahájíte (novou) transakci, bude toto potvrzení způsobovat problémy. I když to uděláte, je to zbytečné, pro začátek používáme JPA.