Oracle-drivrutinen bör returnera korrekt radantal. Jag kommer att bli förvånad om så inte är fallet. Kunde du bekräfta att resultaten från drivrutinen är korrekta? Du kan aktivera loggning i viloläge för att kontrollera detta.
Ett par saker att kontrollera:
-
Logga den faktiska SQL som skickas till databasen och kontrollera att versionskolumnen nämns i where-satsen. Är du osäker på om SQL-filerna loggas av Hibernate-loggning med batching på, du kanske måste ta till ett annat sätt att logga SQL-filerna då (t.ex. p6spy)
-
Om radantalet returneras korrekt under samtidiga uppdateringar, fungerar programmet bra. Bekräfta detta genom att kontrollera att värdena i versionskolumnen är uppdaterade korrigerade.
Uppdatera Enligt följande länk har detta problem funnits med Oracle-drivrutinen fram till 11g och fixat i version 12c
https://hibernate.atlassian.net/browse/HHH-3360
För tidigare Oracle-versioner finns det ytterligare information som borde vara användbar, dvs. en anpassad lösning tillhandahålls.
Ytterligare resurser:https://hibernate.atlassian.net/browse/HHH-5070