Estupendos Tips Fabio.. Me responsabilizo con algunas de las cosas que mencionas aca.. Angel simplemente llegó a un resultado previamente enviado por mi..
Angel.. tengo que analizarlo con más calma.. leí el post pero quiero bajarme la solución y palparlo con VS. Hasta donde pude ver, me gustó bastante. Un Hint.. A partir de la definición correcta de los HBM, como aceptar NULL o el tamaño de los campos para algunos tipos de datos SQL.. nuestra entidad debía chequear el cumplimiento de estas normas. - Si el campo acepta NULL, utilizar los nulleables. Sino, chequear esto en algun lugar para no permitir la asignación. - Si el campo que se define tiene un tamaño determinado.. digamos un varchar(200).. si se intenta sobrepasar dicho tamaño, chequear esto en algún lugar para no permitir la asignación. Salu2 Omar.. PD: Buen ejemplo Angel.. ;) gracias. ----- Original Message ----- From: Fabio Maulo To: [email protected] Sent: Tuesday, September 25, 2007 8:25 AM Subject: [NHibernate-Hispano] Re: Generando Codigo para NHibernate El día 25/09/07, Angel Java Lopez <[EMAIL PROTECTED]> escribió: Comentarios? Sugerencias? -No es necesario que el joined-subclass o el subclass estén anidados con su superClass. Tal vez sea mas facil escribir los templates si se declaran a parte (file xml separado usando el tag extends). -El "lazy=true" es inecesario ya desde hace varios meses. lazy=true es el default. -La configuración de NH es mejor escribirla usando hibernate-configuration; en el web.config o en el files externo no es la cuestión. El asunto es que la diabolica nameValuesList desaparece a partir de NH2.0. -En las entities hay que declarar todo virtual ya que se trabaja con lazy o... definir una interfaz para que pueda operar el DynamicProxy. -Los SqlTypes es mejor no usarlos si no es estrictamente necesario: NH sabe cual es la corrispondencia entre un tipo NET y un tipo SQL para un RDBMS especifico. Si se quieren usar SqlTypes sería mejor tener template nombrados con algún acronimo del RDBMS. - Esto "name="AjOmar.Entities.Company, AjOmar.Entities"" sería mejor escribirlo como "name="Company"" y dejar el namespace/assembly en la cabecera del XML como <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="AjOmar.Entities" namespace="AjOmar.Entities "> -un pequeño truco es usar el <default-access> apuntando a los fields así el proxy no se molesta cuando NH lee/escribe valores. - habría que verificar que hay en los templates para generación de script de generación de DB. Hay cosas que debería saber tambien NH (por ejemplo si una propiedad no es nullable) -si un campo tiene el mismo nombre de la propiedad no es necesario definir el tag <column> (como decis vos: "hay veces que mirar el xml te daña los ojos" menos se escribe y mejor se lee) -La tarea de generar para NET1.x yo la borraría. Generar significa que alguien está haciendo algo nuevo y hacerlo en NET1.x cuando está por salir oficialmente NET3.5 me parece anacronistico. (usando NH compilado para NET1.1 se pierden features y NH2.0 no será mas compatible con NET1.1) Ahora me tengo que ir.... despues miro los DAOs... tal vez se puedan simplificar usando las clases de uNhAddIns. Bye. Fabio. --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups-beta.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
