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