Výjimka:
Říká nám, že k výjimce relace došlo před bod, kde toto org.hibernate.AssertionFailure
je hozen.
Přesněji org.hibernate.AssertionFailure
je vyvoláno při session.flush()
se děje, nikoli bod, kde došlo k chybě.
Výše uvedené je fakt, takže možný závěr z toho je:něco by mohlo potlačovat původní výjimka.
Hledejte tedy jiné možné body chyby:save()
nebo saveOrUpdate()
se možná pokouší zachovat entitu s null
pole kde v tabulce je sloupec NOT NULL
?
TIP: Chcete-li pomoci s laděním, zkuste přidat session.flush()
po každé interakci s Session
objekt (např. session.save(obj)
, session.merge(obj)
, atd.), to snad způsobí org.hibernate.AssertionFailure
aby se to stalo dříve, blíže místu, kde se odehrává skutečný problém. (Po ladění samozřejmě odstraňte session.flush()
.)
V mém případě skutečný výjimka se odehrávala uvnitř try/catch {}
blok, kde se catch
potlačil výjimku (nevyvolal znovu ani mě na to neupozornil).