Es un proceso que importa datos de una fuente externa. En ese proceso, necesito buscar entidades relacionadas a lo que estoy importando, pero puede ser que no existan y en ese caso tengo que crearla y persistirla. A la próxima vuelta del while, puede que la que estoy buscando sea la que creé en la iteración anterior, pero como no hice el flush no la encuentro en la BBDD. Lo solucioné con un flush manual.
Gracias por las respuestas. 2010/1/19 Fabio Maulo <[email protected]> > Criteria y HQL van siempre a DB a menos que no tenga query-cache. > Interpretar el query, ejecutarlo en RAM, luego ir a buscar las diferencias > a DB llevaría mas tiempo. > > Me pregunto algo.... para que vas a base a buscar un obj que nunca > guardaste ? > > El 19 de enero de 2010 14:00, Jose Selesan <[email protected]> escribió: > >> Gente, una pregunta. Entiendo que el método Get de la Session, si >> encuentra el objeto en la sesión, devuelve ese sin ir de nuevo a la base de >> datos. Mi pregunta es, hay alguna forma de hacer lo mismo con Criteria. En >> un proceso que estoy haciendo, mientras tengo abierta la sesión, creo un >> objeto y lo hago peristente (hago un Save), más adelante, siempre dentro de >> la misma sesión, necesito traer uno de esos objetos que creé anteriormente, >> pero como nunca hice el flush, el objeto está en memoria, y Criteria lo va a >> buscar a la base de datos, por lo que no me trae nada. >> >> Gracias! >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > > > -- > 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
