sql >> Database teknologi >  >> RDS >> Mysql

org.hibernate.AssertionFailure:null id i indtastning (du skal ikke tømme sessionen efter en undtagelse)

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).



  1. Sådan sikkerhedskopieres en SQL Server-database ved hjælp af T-SQL

  2. PHP MySQL:Gemmer PDF til database

  3. Hvordan finder man huller i sekventiel nummerering i mysql?

  4. SEC_CASE_SENSTIVE_LOGON i 12c