Con "Se trata de una aplicacion q van interactuando (con la misma
sesión)", ¿quién va interactuando? ¿el usuario? ¿es una aplicación
web? ¿cuál es el ciclo de vida de la session de nh?

saludos.
nelo

2012/2/11 BlackCid <[email protected]>:
> A ver el tema es el siguiente, primero hago el query para saber si
> esta el objeto, si no está hago new de un objeto, y le hago un save.
> El tema es que tal vez luego, y solo tal vez, lo necesitaré. Se trata
> de una aplicacion q van interactuando (con la misma sesión), asi que
> no puedo predecir el futuro.
>
> De momento lo que he hecho es hacer una lista de los ids creados, no
> va del todo mal pero bueno si se pudiese usar nhibernate directamente,
> código q me ahorro.
>
> On 10 feb, 20:08, "[email protected]" <[email protected]>
> wrote:
>> Si, hasta donde recuerdo, si accedes a un objeto con el Get y lo tiene
>> en cache te trae ese (ya sea por el Save o porque lo consultaste antes
>> en esa session). El tema no es que no lo encuentre, sino que no sabe
>> si el objeto que está en cache cumple con las condiciones de la query.
>>
>> Si nos dieses un poco mas de contexto de lo que estás queriendo hacer,
>> quizás alguien tenga alguna idea de como solucionarlo.
>>
>> saludos.
>> nelo.
>>
>> 2012/2/10 BlackCid <[email protected]>:
>>
>>
>>
>> > Entonces la respuesta es No se puede. ¿No?
>> > De todas formas yo creo que es más por la cache de query, porque si
>> > hago un get, (que antes no habia hecho y por tanto no debe estar en
>> > caché), de su id lo pilla :-/, así que algo me dice que es porque
>> > primero ejecuto al query, luego hago el save y luego la vuelvo a
>> > ejecutar. Pero intento invalidar la query caché y no parece
>> > funcionar.
>> > ¿Que posibilidades tengo para invalidar la caché de query? A ver si
>> > estoy intentándolo bien...
>>
>> > Aunque a lo mejor tienes razón y ejecuta la query contra la base de
>> > datos pero el get si lo coja de su memoria. :S
>>
>> > On 10 feb, 04:02, "[email protected]" <[email protected]>
>> > wrote:
>> >> Seguramente porque tenés el FlushMode en Never o en Commit y la query
>> >> se ejecuta contra la DB... hasta donde recuerdo, NHibernate no tiene
>> >> un motor T-SQL para los objetos en RAM.
>>
>> >> Una opción sería que pases a FlushMode Auto y de esta forma NHibernate
>> >> hará automáticamente el Flush cuando detecte que el resultado de una
>> >> query se puede ver afectado por objetos cuyo estado todavía no fue
>> >> reflejado en la DB.
>>
>> >> Si vas por el FlushMode en Auto, debés manejar correctamente las
>> >> transacciones y no es compatible con CpBT ni con session que duren mas
>> >> que un request (pensando en una aplicación web).
>>
>> >> saludos.
>> >> nelo
>>
>> >> 2012/2/9 BlackCid <[email protected]>:
>>
>> >> > Ya, yo estoy hablando desde la misma sesión, pero resulta que hago un
>> >> > save de dicha entidad, y luego cuando hago una query no me sale.
>>
>> >> > On 8 feb, 17:14, "[email protected]" <[email protected]>
>> >> > wrote:
>> >> >> Desde la misma session SI, desde otra NO. El flush es justamente el
>> >> >> "pasaje" de la session a la db. (también influye como manejes la
>> >> >> transacción).
>>
>> >> >> saludos.
>> >> >> nelo
>>
>> >> >> 2012/2/8 BlackCid <[email protected]>:
>>
>> >> >> > Resulta qe en un momento dado creo una nueva entrada, pero hasta que
>> >> >> > no se hace un flush no puedo obtenerla, ¿hay alguna forma de
>> >> >> > recuperarla antes de hacer un flush?
>>
>> >> >> > --
>> >> >> > Para escribir al Grupo, hágalo a esta dirección: 
>> >> >> > [email protected]
>> >> >> > Para más, 
>> >> >> > visite:http://groups.google.com/group/NHibernate-Hispano-Ocultartexto
>> >> >> >  de la cita -
>>
>> >> >> - Mostrar texto de la cita -
>>
>> >> > --
>> >> > 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- 
>> > Ocultar texto de la cita -
>>
>> - Mostrar texto de la cita -
>
> --
> 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