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

Mengunci meja dengan hibernasi

Anda perlu menggunakan penguncian pesimis, yang dapat dicapai dengan

setLockMode(String alias, LockMode lockMode) 

pada kueri dan gunakan LockMode.UPGRADE .

Lihat Query.setLockMode

Namun, ini tentu akan mematikan skalabilitas dan kinerja jika Anda melakukan banyak akses pada tabel ini. Anda lebih baik menggunakan urutan atau strategi lain adalah membuat layanan untuk mengalokasikan nomor (mis., SSB) yang mengambil 100 nomor sekaligus, memperbarui basis data, dan membagikannya. Itu menghemat 198 akses database.

PEMBARUAN:

Anda juga harus sedikit mengubah desain tabel Anda. Lebih baik memiliki satu baris dengan ID yang diketahui dan menyimpan nomor yang Anda tambahkan di kolom lain. Maka Anda harus memperbarui baris daripada menghapus baris lama dan menambahkan yang baru. Jika tidak, strategi penguncian baris tidak akan berfungsi.

PEMBARUAN2:

OP menemukan bahwa yang berikut ini berhasil:

session.get(class.Class, id, lockOption)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengguna tidak dapat mengakses database

  2. Impor Kolom dari CSV ke Tabel MySQL yang ada

  3. Instal mysqlclient untuk Django Python di Mac OS X Sierra

  4. mysql_query() mengharapkan parameter 2 menjadi sumber daya, string diberikan dalam

  5. menggabungkan hasil query mysql SUM() menggunakan inner join