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

Transaksi musim semi dan pengembalian di beberapa tabel

Memperbarui jawaban saya:

  1. Anda ingin metode "penyimpanan Kutipan publik (kutipan Kutipan)" bersifat transaksional.
  2. ketika metode ini dipanggil ... transaksi dimulai di TransactionInterceptor dan dari proxy "penyimpanan Kutipan publik(Kutipan kutipan)" dipanggil
  3. Baris "quoteLineDao.delete(Baru Panjang(44));" berfungsi dengan baik
  4. Baris "System.out.println("°°°°°°°°°°°°°°°°°°Baris 44 dihapus");" berfungsi dengan baik
  5. Baris "quoteDao.save(quote);" memberikan pengecualian pelanggaran batasan. Transaksi ditandai sebagai rollback
  6. Anda menangkap pengecualian ini dan mengonsumsinya dan tidak menyebarkan pengecualian
  7. metode "penyimpanan Kutipan publik(Kutipan kutipan) " akan mengembalikan null karena baris "return null;"
  8. Sekarang kode mencapai pencegat transaksi dan karena tidak ada pengecualian pada pencegat ini, ia mencoba untuk melakukan tetapi transaksi sudah ditandai sebagai rollback dan karena itu gagal.

Solusi:- Anda tidak boleh menggunakan pengecualian dan sebaliknya menyebarkan pengecualian karena kebutuhan transaksional Anda.

Ubah menjadi berikut. telah menambahkan pernyataan lemparan.

try{
      quoteLineDao.delete(new Long(44));
      System.out.println("°°°°°°°°°°°°°°°°°°Line 44 deleted");
      return  quoteDao.save(quote); 
} catch(Exception e){
      Logger.getLogger(QuoteService.class).log(Logger.Level.ERROR, e);
      throw e;
}

Penjelasan langkah demi langkah tersedia di tautan ini:Tidak dapat melakukan transaksi JPA:Transaksi ditandai sebagai rollbackOnly




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panggilan Ajax saya tidak berfungsi - Mencoba mengisi jstree melalui ajax php &mysql JSON

  2. MySQLDumper:Alat Pencadangan Database MySQL Berbasis PHP dan Perl

  3. bagaimana saya bisa menjalankan perintah CMD di aplikasi konsol c #?

  4. Bagaimana cara menyimpan Daftar dinamis ke dalam kolom MySQL secara efisien?

  5. Bagaimana cara meneruskan variabel ke klausa IN?