Hi all.

En estos meses, en este foro he leido:
- quien tiene el jefe que ama los SP y no entiende esas query raras que 
produce este bicho de NHb.
- quien tiene problema con algún tema en especial y, para no tirar un 
query en el código, empieza a mirar iBATIS
- quien se preocupa por los campos calculados porque quiere que sea el 
RDBMS que se ocupe de esos calculos
- quien mapea clases para CRUD y después se encuentra que cuando quiere 
poner un "Customer" en un combo se viene la banana con el mono incluido.
- etc.

Vuelvan a casita .....

La 1.2.0.Beta2 ya suporta varias de esas cosas.
Por ejemplo:
   <class name="Person" table="PERSON">
       <id name="Id" unsaved-value="0" column="PERID">
           <generator class="increment"/>
       </id>
       <property name="Name" not-null="true" column="NAME"/>
       <loader query-ref="person"/>
       <sql-insert>INSERT INTO PERSON (NAME, PERID) VALUES ( UPPER(?), 
? )</sql-insert>
       <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE 
PERID=?</sql-update>
       <sql-delete>DELETE FROM PERSON WHERE PERID=?</sql-delete>
   </class>

o para las collections
   <sql-query name="organizationEmployments">
       <load-collection alias="empcol" role="Organization.Employments"/>
       SELECT {empcol.*}
       FROM EMPLOYMENT empcol
       WHERE EMPLOYER = :id
       ORDER BY STARTDATE ASC, EMPLOYEE ASC
   </sql-query>
Te gustan las stored procedure ?
   <sql-query name="selectAllEmployments">
       <return class="Employment">
           <return-property name="Employee" column="EMPLOYEE"/>
           <return-property name="Employer" column="EMPLOYER"/>
           <return-property name="StartDate" column="STARTDATE"/>
           <return-property name="EndDate" column="ENDDATE"/>
           <return-property name="RegionCode" column="REGIONCODE"/>
           <return-property name="id" column="EMPID"/>
           <return-property name="Salary">
               <!-- as multi column properties are not supported via the
               {}-syntax, we need to provide an explicit column list 
for salary via <return-property> -->
               <return-column name="VALUE"/>
               <return-column name="CURRENCY"/>
           </return-property>
       </return>
       exec selectAllEmployments
   </sql-query>
   <database-object>
       <create>
           CREATE PROCEDURE selectAllEmployments AS
           SELECT EMPLOYEE, EMPLOYER, STARTDATE, ENDDATE,
           REGIONCODE, EMPID, VALUE, CURRENCY
           FROM EMPLOYMENT
       </create>
       <drop>
           DROP PROCEDURE selectAllEmployments
       </drop>
   </database-object>

   <sql-query name="paramhandling_mixed">
       <return-scalar column="value" type="long" />
       <return-scalar column="value2" type="long" />
       exec paramHandling ?, :second
   </sql-query>

Ahora bien.... ojo con todo eso porque se hace un poco mas empiojado el 
multi-RDBMS...
Saludos.
Fabio.





--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com.ar/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a