Hola Edgar, vas a tener que manejar la concurrencia, si no sabés que
es te recomiendo que hagas un test con dos session (session1 y
session2) y que hagas estás operaciones que decís de usuario1 y 2 con
sus respectivas sessions. Vas a ver que tenes "una situación" a
manejar de alguna manera (una opción es no hacer nada al respecto,
pero también es una elección).

lo que digo es algo como:
factura1 = session1.Get<Factura>(facturaId);
factura2 = session2.Get<Factura>(facturaId);

factura1.Fecha = new DateTime(2010, 1, 1);
factura2.Fecha = new DateTime(2010, 5, 5);

session1.Save(factura1);
session1.Flush();
session2.Save(factura2);
session2.Flush(); //¿debería lanzar una exception?

factura3 = session3.Get<Factura>(facturaId);
Assert.AreEqual(new DateTime(?, ?, ?), factura3.Fecha); //¿que valor
esperarías que tenga?

Es decir, opciones hay algunas, primero pensá QUE querés hacer, QUE
esperas. Luego vemos el COMO.

Como dice Fabio, el bloqueo es optimista a nivel de db, pero hay otros
escalones en el medio donde nh te da algunas alternativas para manejar
la "concurrencia".

Nelo.


2010/4/14 Fabio Maulo <[email protected]>:
> NH no hace blokeo pesimistico... nosotros somos optimistas
>
> El 14 de abril de 2010 15:06, Edgar Ramos <[email protected]> escribió:
>>
>> Saludos a todos
>>
>> Tengo la siguiente duda, al realizar un save o una consulta con
>> Criteria puede ser en nh 2.1, dentro de una transaccion, como maneja
>> los bloqueos nh
>>
>> Me explico mejor, tengo las siguientes entidades factura, linea,
>> producto, cuando ingreso, selecciono o actualizo mi objeto factura,
>> procede nh con algun tipo de bloqueo, esto ultimo a nivel de bdd con
>> las tablas relacionadas (no quise entrar al tema de bdd, pero
>> quiesiera saber un poco mas), esto por si 2 usuarios al mismo tiempo
>> estan modificando este objeto factura
>>
>>
>> gracias por cualquier informacion
>>
>> --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>> To unsubscribe, reply using "remove me" as the subject.
>
>
>
> --
> Fabio Maulo
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a