sql >> Databáze >  >> RDS >> Sqlserver

Jak děláte verzování v Nhibernate?

Ne. Zámky jsou umístěny pouze pro rozsah transakce, která ve webové aplikaci končí ukončením požadavku. Výchozí typ režimu izolace transakcí je také Potvrzeno čtení což znamená, že zámky čtení jsou uvolněny, jakmile skončí příkaz select. Pokud čtete a provádíte úpravy ve stejném požadavku a transakci, můžete na daný řádek umístit zámek pro čtení a zápis, který by zabránil jiným transakcím zapisovat nebo číst z tohoto řádku. Tento typ kontroly souběžnosti však ve webové aplikaci nefunguje dobře.

To by se stalo, pokud by byl použit [optimistický souběžnost]. V NHibernate funguje optimistická souběžnost přidáním pole verze . Příkazy pro uložení/aktualizaci jsou vydávány s verzí, na které byla aktualizace založena. Pokud se tato verze liší od verze v databázové tabulce, nebudou aktualizovány žádné řádky a NHibernate vyvolá.

Ne, zámek se uvolní na konci požadavku.

Celkově je nejlepší zvolit optimistickou souběžnost s poli verzí spravovanými NHibernate.



  1. Jak importovat data aplikace Excel do tabulky Toad 9.5

  2. SQL prevence duplicitních záznamů, pokud existují 2 hodnoty

  3. Přístup k poli v poli PHP

  4. Vložte a aktualizujte data souboru CSV do tabulky MySQL pomocí PHP