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

Kann eine INITIALLY DEFERRED-Einschränkung mit einer Hibernate-Anmerkung definiert werden?

Leider unterstützt Hibernate keine verzögerten Einschränkungen.https://hibernate.atlassian.net/ durchsuchen/HHH-2248

Sie könnten versuchen, mit der Methode entityManager.flush() zu spielen, sagen wir, Sie haben Instrumente mit den Namen inst1 und inst2 :

Instrument inst1 = entityManager.find(Instrument.class, 1);
// change name of first Instrument to some random one
inst1.setName("inst3");
entityManager.flush();
Instrument inst2 = entityManager.find(Instrument.class, 2);
inst2.setName("inst1");
entityManager.flush();
inst1.setName("inst2");

Alternativ können Sie die Entitäten aus der DB abrufen, sie aus der DB löschen, eine Leerung durchführen und aktualisierte Entitäten beibehalten. Auf diese Weise müssen Sie den dritten Namen nicht erfinden.

Sie sind sich nicht sicher, wie sich diese Lösungen auf die Leistung auswirken, Sie müssen es selbst herausfinden.