Hi, pensaba hacer un post mas ordenado, pero como todo lo ordenado voy a
terminar haciendolo cuando Fabio saque NH4.5 si espero...asi que les mando
algunas impresiones migrando 1.2.1GA a NH2:

Primero que nada una descripcion de la tarea...en la empresa el sistema esta
definido en
1) Aplicacion operativa en windows forms y varios servicios que obtienen
informacion de sistemas de terceros (algunos por MSMQ otros TCP/IP
dependiendo del proveedor (Unit tests parcialmente desarrollados
principalmente en las areas criticas)

2) Sistemas de Backoffice y Reportes (Unit tests escritos por un
principiante, poca y dudosa cobertura)

Empece por los sistemas 2 ya que queria aprovechar para mejorar sistemas que
herede y ya que me disponia a grandes cambios largue con NH2...

Ahora detallo los problemas que tuve en orden de aparicion (si se puede
decir problemas)

1) Me encontre fue la necesidad de cambiar al trunk de Castle para que el NH
Facility estuviera compilado contra NH2 y tambien mis librerias para
repositorio generico, tuve que cambiarlas a NH2.0

2) Una vez pasado todo a NH2 y al tratar de compilar, error, breaking change
documentado todos los NHiberante.Expression ahora son NHibernate.Criterion
(find and replace y voila...compila)

3) Al tratar de ejecutar otro breaking change documentado, borrar todos los
hibernate. del mapping (Fabio, si estas leyendo, en H3.2.6, suportan una y
otra...no se porque cambiaron esto)

4) OPA OPA...no le compilaban algunas HQL al chico que trabajo antes...que
no los testeaba...punto para NH2...ahora...no compila pero donde esta el
error...aca punto para fabio, habilitar log4net y obtener log de de
SessionFactoryImpl. Ahi aclara exacto que es lo que no compilo...leyeron
esto y todavia no migraron? eso quiere decir que son buenos testeadores :)

5) Algo que me gusto mucho: ahora puedo decidir to cache or no cache una
consulta en el mapping, punto para NH2

6) opa. una consulta que andaba aantes ahora no anda...suspenso, charla con
fabio...ok, se agregaron varias funciones a HQL, substring, locate, trim,
length, bit_length, coalesce, nullif, abs, mod, sqrt, upper, lower, cast,
extract,
concat, current_timestamp, sysdate, second, minute, hour, day, month, year,
str
es una gran ventaja tenerlas en HQL porque permite mas funciones multidbms,
pero a mi me tranco un datediff(minute, date1, date2), y qe minute ahora es
reservada, por suerte la sintaxis de mssql permite tambien datediff(mi,
date1, date2)...ahora si ejecuta!

Toda esta aventura duro un par de horas y la aplicacion ya estaba andando
2.0 con funcionalidades de 1.2.1...de aqui en mas no me encontre con ningun
problema dentro de la aplicacion y termine el trabajo que queria agregar.

Pasar las otras aplicaciones que tenia luego de haber hecho la primera
incluido el sistema grande con suficientes tests, implico un trabajo de un
par de horas sin ningun problema extra...

Ahora tengo todos los sistemas funcionando por un mes con NH2.0...sin ningun
problema...el proximo paso es empezar a usar un poco mas de funcionalidades
de NH2.0...espero que haya motivo para un proximo post del estilo.

Gustavo.

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