sql >> Databasteknik >  >> RDS >> PostgreSQL

Kan en INITIELLT UPPSKJUTAD begränsning definieras med en Hibernate-kommentar?

Tyvärr har Hibernate inte stöd för uppskjutna begränsningar.https://hibernate.atlassian.net/ bläddra/HHH-2248

Du kan prova att spela med metoden entityManager.flush(), låt oss säga att du har instrument med namn inst1 och 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");

Alternativt kan du hämta entiteterna från DB, ta bort dem från DB, utföra spolning och bevara uppdaterade entiteter. På så sätt behöver du inte hitta på det tredje namnet.

Osäker på prestandaeffekten av dessa lösningar, du måste ta reda på det själv.



  1. välj alternativvärde från databasen på valt

  2. SQL Server:Kan inte infoga ett explicit värde i en tidsstämpelkolumn

  3. Maximal tabellstorlek för en MySQL-databas

  4. Tillhör många få alla rader (Laravel)