sql >> Databasteknik >  >> RDS >> Oracle

Fel med JPA-transaktion vid anrop av en lagrad procedur

Du använder behållaren för att hantera persistens. Genom att använda transaktion KRÄVS kommer JPA att starta en ny transaktion för varje anrop till databasen. Därför är det inte nödvändigt att starta eller utföra en transaktion inom den lagrade proceduren. Det är faktiskt en dålig idé.

Du nämner inte om du startar en ny transaktion i den lagrade proceduren, bara att du har en commit där. Om du inte startar en (ny) transaktion kommer den commit att orsaka problem. Även om du gör det är det onödigt, det här är den sortens saker vi använder JPA för till att börja med.




  1. sql-betalningsdistribution

  2. MySQL exklusivt lås

  3. Välj de första 10 distinkta raderna i mysql

  4. Byta namn på kolumner i en SQL SELECT-sats