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

Заключване на ниво таблица в хибернация

„Изберете ... за актуализация“ се поддържа в Hibernate чрез LockMode.UPGRADE който можете да зададете например в NamedQuery .

Но използването на приложение/ръчно заключване на редове в таблицата има няколко недостатъка (особено когато връзката с база данни се прекъсне по средата на транзакцията) и вашата процедура за актуализиране може да мине без нея:

  • Започнете транзакцията.
  • актуализиране на набор от таблица state='PENDING', server_id=1 където state='IN PROGRESS';
  • Отвържете транзакция
  • изберете от таблица, където state='PENDING' и server_id=1;
  • [записи на процеса]

Всеки сървър трябва да има уникален номер, за да работи това, но ще бъде по-малко податлив на грешки и вие позволявате на СУБД да прави това, в което се предполага, че е добра:изолация (вижте ACID ).




  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

  2. как да свържете динамичен json в treeview wpf

  3. Mysql заявка с mysql променлива не работи в Zend Framework 1

  4. Изпратете формуляр CodeIgniter и AJAX

  5. SELECT MySQL поле, което съдържа подниз