Die Ausnahme:
Sagt uns, dass die Sitzungsausnahme vorher aufgetreten ist der Punkt, an dem dieser org.hibernate.AssertionFailure
wird geworfen.
Genauer gesagt, der org.hibernate.AssertionFailure
wird ausgelöst, wenn session.flush()
passiert, nicht der Punkt, an dem der Fehler aufgetreten ist.
Das Obige ist eine Tatsache, also eine mögliche Schlussfolgerung daraus:Etwas könnte unterdrückend sein die ursprüngliche Ausnahme.
Suchen Sie also nach Andere mögliche Fehlerquellen:Ein save()
oder saveOrUpdate()
möglicherweise versucht, eine Entität mit einem null
zu persistieren Feld wobei in der Tabelle die Spalte NOT NULL
ist ?
TIPP: Um beim Debuggen zu helfen, versuchen Sie, eine session.flush()
hinzuzufügen nach jeder Interaktion mit der Session
Objekt (z. B. session.save(obj)
, session.merge(obj)
usw.), wird dies hoffentlich den org.hibernate.AssertionFailure
verursachen früher geschehen, näher an dem Ort, an dem das eigentliche Problem auftritt. (Entfernen Sie nach dem Debuggen natürlich diese session.flush()
.)
In meinem Fall das Echte Ausnahme innerhalb eines try/catch {}
stattfand Block, wo der catch
hat die Ausnahme unterdrückt (nicht erneut ausgelöst oder mich davor gewarnt).