PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Hibernate Optimistic Locking unterschiedliches Verhalten zwischen Postgres und MariaDb

Die einzige Möglichkeit, die passieren könnte, wäre, dass MariaDB einen Fehler hatte, denn sobald ein Tx einen Datensatz ändert, wird er ihn sperren, bis er festgeschrieben oder zurückgesetzt wird. Andere Tx würden das UPDATE aufgrund der Sperre blockieren, aber die Bedingung muss neu bewertet werden, nachdem die Sperre aufgehoben wurde.

Versuchen Sie, zu READ_COMMITTED zu wechseln, und prüfen Sie, ob das Problem dadurch behoben wird. Es könnte eine REPEATABLE_READ-Anomalie sein.