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
-~----------~----~----~----~------~----~------~--~---