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

Новият EntityManager понякога получава остарели данни от MySQL

По някаква причина мислех, че неявната транзакция, към която се присъединява entityManager, е нова транзакция. Но Хибернация на документи състояние:"Когато създадете мениджър на обект в транзакция, мениджърът на обект автоматично се присъединява към текущата транзакция."

Така че очевидно има друга транзакция, която вече се изпълнява (не е изненадващо) и резултатите от извличането ми се променят в зависимост от това, което вече е прочело (тъй като базата данни работи в режим ПОВТОРЯЩО-ЧЕТЕНЕ.)

В краткосрочен план ще прегледам кода си, за да изрично започвам () транзакции, където и да липсва. В дългосрочен план ще разгледам Spring Transactions, за да видя как да управлявам транзакциите по по-сигурен начин (както беше предложено в коментарите.)




  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 в приложението Grails

  2. Как да свържа IntelliJ с локален MySQL?

  3. CREATE TABLE IF NOT EXISTS се проваля, като таблицата вече съществува

  4. Голяма таблица в mysql Обновяване на редове въз основа на csv всеки път

  5. небуферирана заявка с MySQLi?