Buenos dias a todos: En mi pruebas con NHibernate describi un error en mi código que en principio atribuí a un error en NH ( http://216.121.112.228/browse/NH-2453 ).
Básicamente el resumen es que tenia una columna en tabla llamada Key que una tabla. Donde Key es una palabra reservada para SQL Server y por tanto las consultas correctas SQL deben escapar correctamente Key del siguiente modo por ejempo: aliasDeTabla.[Key] cuando por contra, por defecto, NH me estaba generando: aliasDeTabla.Key Con la amable y pronta ayuda de Fabio Maulo, me indico que realmente existe una manera de configurar NH para que funcione de este modo empleando el parámetro: <property name="hbm2ddl.keywords">auto-quote</ property> Hasta aqui asunto resuelto. Falsa alarma de bug y mi código funcionando de nuevo. Sobre este tema les expongo una reflexión que adelantaba a Fabio y que le pareció conveniente traer aquí para compartirla: Como describe Fabio en su blog: http://fabiomaulo.blogspot.com/2009/06/auto-quote-tablecolumn-names.html el valor por defecto para la propiedad hbm2ddl.keywords es: <property name="hbm2ddl.keywords">keywords</property> ¿Tendria sentido marcar el valor por defecto en NH a auto-quote? <property name="hbm2ddl.keywords">auto-quote</property> Lo planteo porque como bien dice Fabio, un ORM debe ocultar los detalles de persistencia y facilitar, en la medida de lo posible, el cambio de la capa de persistencia de un motor relacional a otro con cambios mínimos en el código y/o mapeos. En este contexto, las palabras claves son arbitrariamente seleccionadas por cada fabricante del motor relacional y se reservan todo aquello que creen necesitar para un futuro. La alternativa de hacer emerger la protección (o quotes) en el fichero de mapping no me parece lo más limpio, por el mismo motivo recién comentado (lo que es palabra reservada en un motor, o dialecto de SQL no tiene porque serlo en otro diferente). Bajo este punto de vista planteo: ¿tendría sentido que auto-quote fuera el valor por defecto para hbm2ddl.keywords? Seguro que hay otros pros/contras sobre este tema cuando se estableció el valor por defecto, pero queria preguntar que opinan al respecto. Gracias de antemano, Pedro J. Molina -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
