PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kesalahan hibernasi:transaksi saat ini dibatalkan, perintah diabaikan hingga akhir blok transaksi

Ini mungkin berarti beberapa kueri Anda tidak dieksekusi. Jika Anda memiliki banyak pertanyaan dalam transaksi, mis.

  • mulai transaksi
  • permintaan1
  • kueri2
  • kueri3
  • selesaikan transaksi

dan query2 melempar kesalahan, lalu ketika Anda mencoba menjalankan query3, Anda mendapatkan kesalahan ini.

  • mulai transaksi
  • kueri1 (berhasil)
  • query2 (kesalahan, ada yang tidak beres)
  • query3 (pengecualian seperti milik Anda dilempar)
  • selesaikan transaksi

Anda harus menangani pengecualian yang dilemparkan dari query2 dan menanganinya. Tampilkan beberapa kesalahan kepada pengguna, kembalikan transaksi, jangan pernah mencoba mengeksekusi query3.

Lihat juga di sini:http://www.faqs.org/docs/ppbook/x15040 .htm

PERBARUI

Untuk menyelesaikan transaksi:

List object = null; 
try {
  org.hibernate.Transaction tx = session.beginTransaction(); 
  try { 
    Query q = session.createQuery("from Table where lower(translatedText) like lower('%" + term + "%') or lower(translatedAscii) like lower('%" + term + "%') or lower(originalAscii) like lower('%" + term + "%')"); 
    object = (List<Table>) q.list(); 
  } catch (Exception e) {
    e.printStackTrace(); 
  } finally {
    //You can safely rollback here because you are not changing anything in the DB.
    //If you change something, you should commit transaction at the end of try block,
    //and here check if it is still active and rollback if it is.
    tx.rollback();
  }
  return object; 
} catch (HibernateException e) {
  throw new RuntimeException("Could not begin transaction");
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat membuat tabel baru setelah DROP SCHEMA publik

  2. Apa yang dijelaskan PostgreSQL kepada saya dengan tepat?

  3. Paralel unnest() dan mengurutkan urutan di PostgreSQL

  4. Apakah ada sesuatu seperti fungsi Zip() di PostgreSQL yang menggabungkan dua array?

  5. c++ mengonversi cap waktu postgres tanpa zona waktu ke time_t