Undtagelsen:
Fortæller os, at sessionundtagelsen er sket før punktet hvor denne org.hibernate.AssertionFailure
er smidt.
For at være præcis, org.hibernate.AssertionFailure
kastes, når session.flush()
sker, ikke det punkt, hvor fejlen opstod.
Ovenstående er en kendsgerning, så en mulig konklusion fra det er:noget kunne undertrykke den oprindelige undtagelse.
Så se efter andet mulige fejlpunkter:En save()
eller saveOrUpdate()
forsøger muligvis at bevare en enhed med en null
felt hvor kolonnen i tabellen er NOT NULL
?
TIP: For at hjælpe med fejlfindingen, prøv at tilføje en session.flush()
efter hver interaktion med Session
objekt (f.eks. session.save(obj)
, session.merge(obj)
osv.), vil dette forhåbentlig forårsage org.hibernate.AssertionFailure
at ske tidligere, tættere på hvor det virkelige problem finder sted. (Selvfølgelig, efter fejlretningen skal du fjerne disse session.flush()
.)
I mit tilfælde er den rigtige undtagelsen fandt sted i en try/catch {}
blok, hvor catch
undertrykte undtagelsen (smidde ikke om eller advarede mig om det).