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

Transaksi luar dalam kasus penggunaan transaksi bersarang tidak melihat pembaruan tetap ada di database (JPA, MySQL, Spring Framework, dan Hibernate)

Saya tidak tahu bagaimana transaksi "bersarang" dilakukan di Hibernate (karena saya tidak percaya MySQL benar-benar dapat menyarangkan transaksi).

Jadi saya akan berasumsi bahwa transaksi (bersarang) kedua harus (?) menjadi koneksi baru ke database - jika tidak, tidak mungkin untuk mengembalikan transaksi "bersarang" tanpa mempengaruhi transaksi "luar".

Jika memang demikian, maka Anda mungkin terkena tingkat isolasi default MySQL yaitu REPEATABLE READ yang tidak akan membiarkan transaksi luar melihat data apa pun yang telah dilakukan setelah transaksi itu dimulai.

Untuk menguji teori ini, coba ubah tingkat isolasi (dari transaksi luar) menjadi READ COMMITTED dan lihat apakah itu menyelesaikan masalah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Ekstrak Kode Dari TextArea dan Lewati ke Mysql SELECT IN Query

  2. Bagaimana cara menulis kueri MYSQL yang akan mengembalikan anak-anak yang bersarang di bawah orang tua?

  3. Union sebagai sub-kueri MySQL

  4. MySQL ::Pilih dari string yang dipisahkan koma

  5. Salin nilai peningkatan otomatis ke kolom lain saat disisipkan?