Hola Carlos,

Entiendo que el tano ya conoce la diferencia entre CreateSqlQuery y
CreateQuery ( tano, si tenes dudas pregunta :-) ).

Lo que el sugiere es que empieces a "pensar" en objetos ademas de "usar" HQL

Hay un par de cosas en tu post que sugieren que aun pensas en tablas, por
ejemplo en esta frase: "como hago para
recuperar por ejemplo una consulta que hace join con 2 o tres tablas" donde
veo dos temas, primero "join" (*) y segundo "tablas".

El otro punto es este: "select Nombre,Password from cUsuario where ID = ? ",
no es usual elegir las propiedades del objeto que vas a recuperar,
usualmente buscas "objetos", no ciertas propiedades.

Como dice el tano, tampoco entiendo que tiene que ver el join en tu pregunta
pero, suponiendo que querias saber eso y que equivocaste el ejemplo,
usualmente no hacemos joins en NHibernate  (*).

Si te referias a recuperar entidades relacionadas, en "tablas" hacemos un
join, en cambio en NHibernate lo dejamos en manos del ORM, como mucho damos
algunas sugerencias a NH  (*).

Un saludo

 (*) Ya se que existe el concepto de join en HQL, Criteria, etc. pero tiene
mas que ver con "hints" para resolver el query.

----------------------------------
Carlos Peix

2010/1/23 Carlos Cocom <[email protected]>

> jajaja,
>
> Primero aclaracion
>
> si te fijas bien veras que la consulta es a traves de objetos (HQL) ya que
> estoy utilizando CreateQuery por que para usar consultas nativas se
> usa CreateSQLQuery.
>
> Segundo
>
> Simplemente quiero realizar una consulta (en mi caso involucra varios
> objetos por eso lo de los joins o al menos por es la mencion)  y como en los
> ejemplos que he visto el resultado lo asignan a un objeto IList no se como
> crear un ilist que me acepte el resultado de mi consulta ya que error por
> eso fue el ejemplo que les agregue,
>
> espero haber sido un poco mas claro, gracias de antemano
>
> El 22 de enero de 2010 17:34, Fabio Maulo <[email protected]> escribió:
>
> select u.Nombre, u.Password from cUsuario u where u.Id =
>> :elNombreDeUnParametro
>>
>> de todas formas, ya que aclaraste "newbie" mas de una vez, empieza a
>> pensar en Objetos y en hacer query sobre Objetos.
>>
>> P.S. no entendí que tienen que ver los "join" en lo que nos pregutas
>>
>> El 22 de enero de 2010 19:30, z8128 <[email protected]> escribió:
>>
>> Hola a todos
>>>
>>> Soy nuevo en esto de utiliza el nhibernate y tengo unas dudas, les
>>> planteo la primera y agradezco las respuestas de antemano
>>>
>>> 1) He seguido unos tutoriales pero la mayoria de estos consultan y
>>> recuperan resultados de entidades completas, la duda es como hago para
>>> recuperar por ejemplo una consulta que hace join con 2 o tres tablas,
>>> aqui el ejemplo de como lo realizo actualmente
>>>
>>>                IQuery q = session.CreateQuery("from cUsuario where ID
>>> = ? ");
>>>                q.SetString(0, "1");
>>>
>>> y lo recupero asi
>>>                IList< cUsuario> people = q.List< cUsuario>();
>>>
>>> todo funciona, ok
>>>
>>> Pero si quiero hacer lo siguiente
>>>                q = session.CreateQuery("select Nombre,Password from
>>> cUsuario where ID = ? ");
>>>                q.SetString(0, "1");
>>>
>>>                IList people = q.List();
>>>
>>> se que estoy haciendo algo mal pero como debo hacer mi consulta??
>>> le cambie a como dice el manual y tampoco funciona
>>>
>>>     List<object> people = q.List();
>>>
>>>
>>> --
>>> 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
>

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