Mysql
 sql >> база данни >  >> RDS >> Mysql

Външната транзакция в случай на използване на вложена транзакция не вижда актуализации в базата данни (JPA, MySQL, Spring Framework и Hibernate)

Не знам как се извършва "влагането" на транзакциите в Hibernate (тъй като не вярвам, че MySQL всъщност може да вмъква транзакции).

Така че бих предположил, че втората (вложена) транзакция трябва (?) да е нова връзка с базата данни – в противен случай не би било възможно да се върне обратно „вложената“ транзакция, без да се засяга „външната“ транзакция.

Ако това наистина е така, тогава вероятно сте ударени от нивото на изолация по подразбиране на MySQL, което е REPEATABLE READ което няма да позволи на външната транзакция да види никакви данни, които са били ангажирани след тази транзакция е започнала.

За да тествате тази теория, опитайте да промените нивото на изолация (на външната транзакция) на READ COMMITTED и вижте дали това решава проблема.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Производителност на MySQL:MySQL срещу MariaDB

  2. Сценарии за архивиране и възстановяване на MySQL в облак с помощта на Microsoft Azure

  3. Синтактична грешка близо до ORDER BY order DESC в MySQL

  4. Play 2.4 - Slick 3.0.0 - DELETE не работи

  5. Изтриване на заявка за изтриване на редове в MySQL