Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JPA + Hibernate:Jak zdefiniować ograniczenie mające ON DELETE CASCADE

JPA oferuje możliwość kaskadowego operacje (scalanie, utrwalanie, odświeżanie, usuwanie) do powiązanych jednostek. Logika jest w JPA i nie wykorzystuje kaskad bazy danych.

@OneToMany(cascade=CascadeType.REMOVE)

Nie ma zgodnego ze standardem JPA sposobu wykonywania kaskad z kaskadami bazy danych. Jeśli preferowane są takie kaskady, musimy wrócić do konstrukcji specyficznej dla Hibernate:@ Przy usuwaniu . Działa z @OneToMany przynajmniej, ale w przeszłości były pewne problemy z @OneToOne i @OnDelete .

@OnDelete(action = OnDeleteAction.CASCADE)

Należy pamiętać, że dodanie tej adnotacji do istniejącego ograniczenia nie spowoduje jego aktualizacji. Może być konieczne ręczne upuszczenie go, aby poprawnie zaktualizować schemat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wkładka zbiorcza lub aktualizacja Slick 3.0 (upsert)

  2. MySQL porównuje teraz() (tylko data, nie czas) z polem daty i godziny

  3. Jak sprawdzić, czy dwa zakresy dat pokrywają się w mysql?

  4. pamięć podręczna zapytań nie działa

  5. Czy ciąg zakodowany w base64 może zawierać odstępy?