Si è scoperto che dovevo chiamare flush su Entity Manager, al fine di sincronizzare il contesto di persistenza con il database sottostante. Inoltre ho rimosso qualsiasi istruzione di gestione delle transazioni dall'SP e ha funzionato come previsto; le query all'interno della Stored Procedure fanno ora parte della transazione gestita da Spring.