Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

org.hibernate.AssertionFailure:null id di entri (jangan menyiram Sesi setelah pengecualian terjadi)

Pengecualian:

Memberi tahu kami bahwa pengecualian sesi telah terjadi sebelum titik di mana org.hibernate.AssertionFailure ini dilempar.

Tepatnya, org.hibernate.AssertionFailure dilempar ketika session.flush() sedang terjadi, bukan titik di mana kesalahan itu terjadi.

Di atas adalah fakta, jadi kesimpulan yang mungkin darinya adalah:sesuatu bisa menekan pengecualian asli.

Jadi cari lainnya kemungkinan titik kesalahan:save() atau saveOrUpdate() mungkin mencoba mempertahankan entitas dengan null bidang di mana, dalam tabel, kolomnya adalah NOT NULL ?

KIAT: Untuk membantu dalam proses debug, coba tambahkan session.flush() setelah setiap interaksi dengan Session objek (mis. session.save(obj) , session.merge(obj) , dll.), ini diharapkan akan menyebabkan org.hibernate.AssertionFailure terjadi lebih awal, lebih dekat ke tempat masalah sebenarnya terjadi. (Tentu saja, setelah debugging, hapus session.flush() .)


Dalam kasus saya, yang nyata pengecualian terjadi di dalam try/catch {} blokir tempat catch menekan pengecualian (tidak melemparkan kembali atau memperingatkan saya tentang hal itu).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan mysql untuk menemukan semua baris yang memiliki nilai yang sama dengan baris lain

  2. koneksi database tunggal php, apakah kode ini praktik yang buruk?

  3. mysql:pilih semua item dari tabel A jika tidak ada di tabel B

  4. Hitung kemunculan sub string di kolom MySQL

  5. Kapan menambahkan indeks pada bidang tabel SQL (MySQL)?