Изключението:
Казва ни, че изключението от сесията се е случило преди точката, където този org.hibernate.AssertionFailure се хвърля.
За да бъдем точни, org.hibernate.AssertionFailure се хвърля, когато session.flush() се случва, а не точката, където е възникнала грешката.
Горното е факт, следователно възможен извод от него е:нещо може да е потискащо оригиналното изключение.
Така че потърсетедруги възможни точки на грешка:save() или saveOrUpdate() вероятно се опитва да запази обект с null полета където в таблицата колоната е NOT NULL ?
СЪВЕТ: За да помогнете при отстраняването на грешки, опитайте да добавите session.flush() след всяко взаимодействие с Session обект (напр. session.save(obj) , session.merge(obj) и т.н.), да се надяваме, че това ще доведе до org.hibernate.AssertionFailure да се случи по-рано, по-близо до мястото, където се случва истинският проблем. (Разбира се, след отстраняването на грешки, премахнете тези session.flush() .)
В моя случай, истинската изключение се извършваше в try/catch {} блок, където catch потисна изключението (не ме хвърли повторно или не ме предупреди за него).