Tabelle Ebene Sperren in Hibernate

Verwende ich Hibernate version 4. Wir haben ein problem im batch-Prozess. Unser system funktioniert wie folgt

  1. Wählen Sie Datensätze, die in den "PENDING" Zustand
  2. Sofort aktualisiert 'IN PROGRESS' state
  3. Prozess und update auf "ABGESCHLOSSEN" Stand

Das problem, wenn wir zwei Server und Ausführung zur gleichen Zeit, und wir befürchten, dass die Parallelität Problem. So würden wir gerne umsetzen DB-Sperre für die ersten beiden Schritte. Wir verwendet query.setLockOptions(), aber es scheint nicht zu arbeiten. Es ist eine andere zu haben-Tisch-Ebene sperren oder Row-level-lock, bis es abgeschlossen ist, wählen und aktualisieren. Beide sind in derselben Sitzung.

Wir haben die Optionen in JDBC, die LOCK TABLE <TABLE_NAME> WRITE. Aber wie implementieren wir in den Ruhezustand versetzt oder ist es möglich zu implementieren, select..for update in den Ruhezustand?

Schreibe einen Kommentar