Wyjątek:
Informuje nas, że wyjątek sesji miał miejsce przed punkt, w którym ten org.hibernate.AssertionFailure jest rzucony.
Dokładnie mówiąc, org.hibernate.AssertionFailure jest generowany, gdy session.flush() się dzieje, a nie w miejscu, w którym wystąpił błąd.
Powyższe jest faktem, stąd możliwy wniosek jest taki:coś może tłumić oryginalny wyjątek.
Więc szukaj innych możliwe punkty błędu:save() lub saveOrUpdate() prawdopodobnie próbuje utrwalić encję z null pole gdzie w tabeli kolumna to NOT NULL ?
WSKAZÓWKA: Aby pomóc w debugowaniu, spróbuj dodać session.flush() po każdej interakcji z Session obiekt (np. session.save(obj) , session.merge(obj) itp.), miejmy nadzieję, że spowoduje to org.hibernate.AssertionFailure wydarzy się wcześniej, bliżej miejsca, w którym ma miejsce prawdziwy problem. (Oczywiście po debugowaniu usuń te session.flush() .)
W moim przypadku prawdziwe wyjątek miał miejsce wewnątrz try/catch {} blok, w którym catch pominął wyjątek (nie zgłosił ponownie ani mnie o tym nie ostrzegał).