Hi all, Actually after some concerted debugging and digging around in the code, it looks like this is actually a problem with Spring Transactions, Glassfish, or a combination of the two: When Spring's JtaTransactionManager has direct access to the UserTransaction, for some reason it fails to notify OpenJPA's EntityManager when a transaction has been rolled back. Forcing Spring's transaction manager to interact with the appserver's transactions via the JTA TransactionManager instead seems to resolve this (FWIW, the fix is to set JtaTransactionManager's "autodetectUserTransaction" property to false).
Regards, Julian
