PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy można zdefiniować ograniczenie INITIALLY DEFERED za pomocą adnotacji Hibernate?

Niestety Hibernate nie obsługuje odroczonych ograniczeń.https://hibernate.atlassian.net/ przeglądaj/HHH-2248

Możesz spróbować pobawić się metodą entityManager.flush(), powiedzmy, że masz instrumenty o nazwach inst1 i 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");

Alternatywnie możesz pobrać jednostki z bazy danych, usunąć je z bazy danych, wykonać opróżnianie i utrwalać zaktualizowane jednostki. W ten sposób nie musisz wymyślać trzeciego imienia.

Nie jesteś pewien co do wpływu tych rozwiązań na wydajność, musisz sam się dowiedzieć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie przestrzeni tabel w postgresql

  2. Generuj instrukcje SQL za pomocą Pythona

  3. psql:FATAL:rola postgres nie istnieje

  4. Statystyki zasięgu kodu

  5. Dlaczego postgres nie tworzy bazy danych?