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