> 
> Ahoj Lukasi.
> Nevím jestli tě správně chápu. Tak jen aby bylo jasno. :) Kdyz 
> používáš zámky, můžeš si zamknout data, ktera chceš editovat 
> (updatovat), jakmile změníš data, uložíš změny a zámky odstraníš. 
> Při transakčním zpracování, nemůžeš započat transakci při zobrazení 
> editačního formuláře. Transakci nastartuješ až při samotné změně, ne 
> při zobrazení dat pro editaci uživateli. Pokud databáze umí řešit 
> transakce efektivně, a přiznám se že tak hluboko jsem se jeste 
> nedostal, (abych odlišil jak řeší transakce různé SRBD), tak by mělo 
> vše proběhnout hladce. Pokud potřebuješ data těsně po načtení 
> uzamknout, protože je budeš chtít editovat, a záleží ti na tom aby 
> si uživatelé navzájem nepřepisovali data, můžeš i v Hibernate 
> uzamknout data. Například session.lock(t, LockMode.READ);. Se zámky 
> jsem jestě nepracoval a nevím jaké přesně jsou tam potíže, ale 
> vypadá to jednoduše a příjemně :).
> 

Vazne doporucuji nastudovat nejakou teorii k databazim. A taky se naucit
rozlisovat uzivatelske a databazove transakce.
Zamky jsou jedna z moznosti jak implementovat transakce (uvnitr databaze),
dalsi moznosti jsou casova razitka nebo verzovani zaznamu.
Vas vsak zajima jen izolacni uroven transakci, jak to databaze implementuje
vevnitr ma smysl vedet, az pri ladeni vykonu.

Cteni dat take probiha v databazove transakci.
To co budete delat vy, je ze nactete data z databaze v jedne transakci a
zobrazite je na formulari.
Ve druhe transakci chcete potom zmenena data ulozit, ale mezitim je nekdo
rychlejsi mohl prepsat. Tomu se lze prave tim verzovanim nebo zamykanim 
zaznamu. 

  Lukas

Odpovedet emailem