Błąd ORA-02292 przy usuwaniu obiektu z bazy

Błąd ORA-02292 przy usuwaniu obiektu z bazy
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć
Nie wiem czy to właściwie dobry dział. Mam dwa obiekty, połączone relacją OneToMany. Próbując usunąć obiekt (a przez to wiersz w bazie), który nie został zmodyfikowany to wszystko jest okej. Problem jest w przypadku, gdy obiekt A został zmodyfikowany. Wtedy dostaję wyjątek (dotyczy obiektu B):

Kopiuj
Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.4.qualifier): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (XYZ.Report) violated - child record found

Obiekt B posiada klucz obcy do obiektu A. I zastawia mnie głównie czemu w przypadku braku modyfikacji obiektu A wszystko jest okej, a jak tylko zmodyfikuję to Od razu wyrzuca wyjątek?

xxxmateusz00xxx
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 45
0

Po pierwsze przydałby sie kod.
Po drugie zgaduje ze zle skonfigurowales (badz w ogole tego nie zrobiles) kaskady. Poczytaj o CascadeType w relacji OneToMany.

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2787
0

i o orphanRemoval też poczytaj

P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 92
0

To wyrzuca Ci baza
https://www.techonthenet.com/oracle/errors/ora02292.php

może być coś nie tak ze schematem BD

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.