sql >> Databáze >  >> RDS >> Mysql

Vnější transakce v případě použití vnořené transakce nevidí v databázi trvalé aktualizace (JPA, MySQL, Spring Framework a Hibernate)

Nevím, jak se "vnořování" transakcí provádí v Hibernate (protože nevěřím, že MySQL může skutečně vnořovat transakce).

Předpokládal bych tedy, že druhá (vnořená) transakce musí (?) být novým připojením k databázi – jinak by nebylo možné vrátit „vnořenou“ transakci bez ovlivnění „vnější“ transakce.

Pokud je tomu skutečně tak, pak jste pravděpodobně zasaženi výchozí úrovní izolace MySQL, která je REPEATABLE READ což nedovolí vnější transakci vidět žádná data, která byla potvrzena po že transakce začala.

Chcete-li otestovat tuto teorii, zkuste změnit úroveň izolace (vnější transakce) na READ COMMITTED a uvidíte, zda to problém vyřeší.



  1. PHP jak zkontrolovat e-mail již v databázi MySQL?

  2. Jak exportovat data do souboru CSV v Oracle pomocí PL SQL procedury

  3. Podřetězec MySQL mezi dvěma řetězci

  4. Aktualizační dotaz Mysql s připraveným příkazem dává chybu