Hola gente, Hablando de fetch join, alguien pudo ver el problema que plantee la semana pasada (caso 2)? Segun explique, me encuentro con un problema grave al usar fetch join filtrando por la relacion hija. Gracias Carlos Peix
_____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Gustavo Ringel Enviado el: Lunes, 30 de Junio de 2008 09:35 a.m. Para: [email protected] Asunto: [NHibernate-Hispano] Re: capturar consultas Hi, tenes que usar SQL Server Profiler y podes trazar toda consulta que llega al servidor de base de datos. Para que haga una sola consulta en el mapping que tenes que tenes de persona a poblacion tenes que poner fetch=join si queres que siempre se haga una sola consulta, o setear el fetch mode para poblacion como Eager en esa consulta usando SetFetchMode. Gustavo. 2008/6/30 palomino100 <[EMAIL PROTECTED]>: Hola! me he configurado el log4net para capturar las consultas sql que se hacen a la base de datos. Estoy haciendo una consulta con inner join con este codigo: ICriteria crit = session.CreateCriteria(typeof(Persona)); crit.CreateAlias("Poblacion","pob"); crit.Add(Expression.Expression.Eq("pob.Nom","sabadell")); IList<Persona> perList = crit.List<Persona>(); En el log observo las siguientes dos consultas que realiza nhibernate: 2008-06-30 10:13:05,478 DEBUG 1 NHibernate.SQL - SELECT this_.id_persona as id1_1_1_, this_.nom_persona as nom2_1_1_, this_.email_persona as email3_1_1_, this_.telefono_persona as telefono4_1_1_, this_.id_poblacion as id5_1_1_, pob1_.id_poblacion as id1_0_0_, pob1_.nom_poblacion as nom2_0_0_ FROM Persona this_ inner join Poblacion pob1_ on this_.id_poblacion=pob1_.id_poblacion WHERE pob1_.nom_poblacion = @p0; @p0 = 'sabadell' 2008-06-30 10:13:05,811 DEBUG 1 NHibernate.SQL - SELECT personas0_.id_poblacion as id5___1_, personas0_.id_persona as id1_1_, personas0_.id_persona as id1_1_0_, personas0_.nom_persona as nom2_1_0_, personas0_.email_persona as email3_1_0_, personas0_.telefono_persona as telefono4_1_0_, personas0_.id_poblacion as id5_1_0_ FROM Persona personas0_ WHERE [EMAIL PROTECTED]; @p0 = '6' Me gustaría saber si realmente nhibernate realiza estas dos consultas, o bien sólo hace una y la primera de ellas sólo se realiza internamente. A parte, me iria bien si conocierais alguna manera de observar los accesos que se hacen a una base de datos en un sql server 2005, para poder observar si realizan estas dos consultas. Muchas Gracias. --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
