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).