L'exception :
Nous indique que l'exception de session s'est produite avant le point où ce org.hibernate.AssertionFailure
est lancé.
Pour être exact, le org.hibernate.AssertionFailure
est lancé lorsque la session.flush()
se passe, pas le point où l'erreur s'est produite.
Ce qui précède est un fait, donc une conclusion possible est :quelque chose pourrait être supprimant l'exception d'origine.
Alors cherchez autre points d'erreur possibles :A save()
ou saveOrUpdate()
essaie peut-être de conserver une entité avec un null
champ où, dans le tableau, la colonne est NOT NULL
?
CONSEIL : Pour aider au débogage, essayez d'ajouter un session.flush()
après chaque interaction avec la Session
objet (par exemple session.save(obj)
, session.merge(obj)
, etc.), cela entraînera, espérons-le, le org.hibernate.AssertionFailure
se produire plus tôt, plus près de l'endroit où se situe le vrai problème. (Bien sûr, après le débogage, supprimez ces session.flush()
.)
Dans mon cas, le vrai l'exception se produisait dans un try/catch {}
bloc où le catch
a supprimé l'exception (n'a pas relancé ou ne m'a pas averti à ce sujet).