Mysql
 sql >> Baza danych >  >> RDS >> Mysql

org.hibernate.AssertionFailure:null id we wpisie (nie opróżniaj sesji po wystąpieniu wyjątku)

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak włamać się do MySQL GROUP_CONCAT, aby pobrać ograniczoną liczbę wierszy?

  2. Najlepszy sposób na tworzenie/zarządzanie/projektowanie powtarzających się zadań/kalendarza

  3. Typy danych schematu sails-mysql

  4. Korzystać z klasy bazy danych PDO bez tworzenia nowego połączenia za każdym razem?

  5. Jak uzyskać dane z innej tabeli za pomocą danych kolumnowych z innej tabeli?