FYI, yo no domino el mapping XML, especialmente no domino todos aquellos elementos para darle soporte a DB que no implementan tecnicas de ORM.
Hasta ahora conozco 3 personas que usan NHibernate sin nunca haber escrito un solo XML (uno de ellos empezó directo con FNH mientras lo estaban desarrollando). Hagan un experimento: agarren una muestra de usuarios de NHibernate y de Hibernate y preguntenle como se mapean una relacción one-to-one unidireccional y como se mapea una relacción one-to-one bidireccional (sin ir chusmeando por allí) a ver cuantos saben... y despues dicen que la curva de aprendizaje es muy empinada. Para el amigo AjL: Todavía no ví la luz completamente.... pero creo que logro ver que algo allá por el fondo no está negro. 2011/2/10 Edgar Ramos <eramose...@gmail.com> > Yo en cambio sigo mapeando, trato de entender bien esta estrategia y los > diversos conceptos relacionados, para cuando la domine bien, ir con todo a > ConfORM > > Saludos > > Edgar > > El 10 de febrero de 2011 16:14, Fabio Maulo <fabioma...@gmail.com>escribió: > >> El estandard de facto para uso de attributes es NHMA >> (NHibernate.Mapping.Attributes). >> Repito que es el estandard de facto para quien usa attributes para >> mappings de NHibernate. >> >> Para quien le gusta usar attributes tambien hay varias adaptacciones >> usando System.ComponentModel.DataAnnotations; las adaptaciones mas usadas >> son para FNH. >> >> El aclarar "robusto" y "grande" no está de sobra porque lo usaste como >> parametro para eleguir la forma de mapear con NHibernate; tu opinion sobre >> lo que significa "robusto" es importante a la hora de ayudarte con una >> decisión. >> >> En .NET nos estamos alejando siempre mas sea de XML que de Attribute (por >> lo menos para determinadad cosas). >> Spring.NET está reimplementatdo toda la configuracción por codigo usando >> convenciones y fluent-interfaces; Spring.NET habla con el equipo de Spring >> (Mark lo hace) para que estas inovaciones sean tomadas por el equipo JAVA. >> >> En .NET los attributes son classes concretas y para usarlas hay que >> agregar referencias a los assemblies que contienen dichos attributes. >> Haciendote un ejemplo con NHMA significa que en el assembly donde definis tu >> dominio tendras que referenciar NHMA y po end NH así que tenes las classes >> de tu dominio pegadas a NHibernate. Quien no le importa esa "cosita" usa >> NHMA. A quien si le importa usa otra forma no intrusiva de mapeo. >> >> Tener un framework que mapea NHibernate basandose en patterns de >> mapeo/implementacción es una ENORME ventaja y permite, con unas pocas lineas >> de codigo, tener todos los mappings... hasta se llega a agregar classes de >> dominio sin tener que hacer absolutamente nada para usarlas con NHibernate. >> Ni hablar del uso de fluent-interfaces, configuracción por codigo y >> convetions en la configuracción de framework de IoC/DI/AOP. >> >> El mundo .NET evolució muy rapido. >> >> Darme una respuesta que me parezca ofensiva te va a costar a menos que no >> uses malapalabras reconocidas como ofensivas. >> Tener una opinion distinta para mi no es una ofensa. >> >> Sigo sosteniendo que tu "todo me está orillando a utilizar el nhibernate >> vía xml" es solo por desconderse tras una forma conocida de mapear. En >> NHibernate hay muchisimas mas opciones para llevar a cabo esa tarea >> aburidisima. >> >> >> 2011/2/10 Rodrigo Marquez <rodmarque...@gmail.com> >> >>> Mira Fabio, acabo de borrar 20 líneas de >>> texto respondiéndote ofensivamente, no groseramente, pero sí a la ofensiva. >>> Las he borrado, no me interesa entablar una discusión contigo. Simplemente >>> quiero hacerte notar que el sarcasmo (Habría que implementar >>> EsRobusto(framework) e EsGrandes(proyecto)) está de sobra en un grupo de >>> profesionales, de cualquier ramo, yo lo que quería recalcar es que NO HAY un >>> framework que pudiéramos considerar como DE FACTO para utilizar anotaciones >>> (o atributos) en NHibernate, como lo puede ser JPA en java, que te aseguro >>> sería la respuesta de 9 de cada 10 profesionales en Java al preguntarles >>> sobre un FW para manejar anotaciones. Simple, en .NET no lo hay y NHibernate >>> no lo implementa aún de manera nativa, como ya lo hace Hibernate 3.0. Eso es >>> todo, si se ofendió alguien ni modos. Pero responde en forma seria, el foro >>> merece el respeto. >>> >>> P.D. ¿Qué es TOSTO? >>> >>> El 10 de febrero de 2011 12:50, Fabio Maulo <fabioma...@gmail.com>escribió: >>> >>>> Habría que implementar EsRobusto(framework) e EsGrandes(proyecto) >>>> >>>> FNH existe y es usado por un gran numero de projectos grandes y por lo >>>> que pude investigar es un proyecto robusto. >>>> Viasual NHibernate y LLBLGEN son usado por un gran numero de projectos >>>> grandes, son proyectos robusto, proveen reverse engineering y son pagos. >>>> >>>> ConfORM mas que robusto es TOSTO y, aunque si en menor cantidad, tambien >>>> es usado en proyectos grandes. >>>> >>>> Repito, si queres usar XML es solo porque queres. Si trabajas con clases >>>> que representan el dominio, y queres que el DB sea diseñado siguiendo >>>> reglas >>>> de ORM, en NHibernate hay muchas opciones y todas no solo son validas si no >>>> que son usadas en proyectos comerciales serios. >>>> >>>> Si lo que buscas es "desconderte tras lo conocido" (XML) no hay ningun >>>> problema, pero lo le heche la culpa a otros afirmando que necesitas un >>>> framework "robusto" y para proyectos "grandes". >>>> >>>> >>>> 2011/2/10 Rodrigo Marquez <rodmarque...@gmail.com> >>>> >>>>> Hola Fabio, no concuerdo, al decir que todo me orilla a... estoy >>>>> diciendo que debido a que no encuentro evidencia sólida de que exista un >>>>> framework robusto que me ayude a eludir el xml, al mencionar evidencia me >>>>> refiero no simplemente al testimonio de empresas o proyectos grandes que >>>>> hayan usado alguno de los frameworks disponibles (como las que tiene el >>>>> mismo NHibernate y ya no digamos Hibernate...) sino que me conformaría con >>>>> escuchar que hay cierta predilección de la mayoría de los que saben (AKA, >>>>> los que moderan el grupo, y otros foros) por algún framework ya sea por su >>>>> estabilidad/flexibilidad/conveniencia, no me malinterpreten, no digo que >>>>> los >>>>> que hay no sean buenos, sino >>>>> >>>>> El 10 de febrero de 2011 11:49, Fabio Maulo >>>>> <fabioma...@gmail.com>escribió: >>>>> >>>>>> Rodrigo, >>>>>> creo que quien se "orilla" a utilizar XML eres tu mismo. >>>>>> >>>>>> un pequeño ejemplo : >>>>>> http://fabiomaulo.blogspot.com/2010/11/conform-understanding-polymorphism_04.html >>>>>> Notar que el mapping de ese domino es de 4 lineas. >>>>>> >>>>>> La serie: http://fabiomaulo.blogspot.com/search/label/ConfORM >>>>>> >>>>>> 2011/2/10 Rodrigo Marquez <rodmarque...@gmail.com> >>>>>> >>>>>>> Ah pues muchas gracias Carlos por compartirme tu experiencia, fíjate >>>>>>> que todo me está orillando a utilizar el nhibernate vía xml, en fin, >>>>>>> por ahí >>>>>>> he visto que existen generadores de xml por ingeniería inversa y eso >>>>>>> resuelve parte del problema, una pregunta más, y creo que la última, >>>>>>> que tal >>>>>>> funcionan en nhibernate los on-cascade, para crear, actualizar y >>>>>>> eliminar >>>>>>> registros?, relacionados evidentemente. >>>>>>> >>>>>>> Saludos >>>>>>> >>>>>>> El 10 de febrero de 2011 04:09, Carlos Peix >>>>>>> <carlos.p...@gmail.com>escribió: >>>>>>> >>>>>>> Hola Rodrigo, >>>>>>>> >>>>>>>> Yo he usado AR hace tiempo, no tuve problemas. Deje de usarlo porque >>>>>>>> no me gusto el modelo de trabajo y al fin y al cabo, no me molestaba >>>>>>>> escribir los mappings en XML. >>>>>>>> >>>>>>>> ---------------------------------- >>>>>>>> Carlos Peix >>>>>>>> >>>>>>>> 2011/2/9 Rodrigo Marquez <rodmarque...@gmail.com> >>>>>>>> >>>>>>>>> Hola Carlos, todos, el ActiveRecord de Castle me pareció muy bueno, >>>>>>>>> solamente he estado leyendo sobre él, pero no sé, estoy considerando >>>>>>>>> seriamente usar simple Nhibernate 3.0 y utilizar xml's como en la >>>>>>>>> versiones >>>>>>>>> antediluvianas de Hibenate, lo digo porque no cuento con tanto tiempo >>>>>>>>> como >>>>>>>>> para ahondar en ActiveRecord u otra tecnología, y desconozco que tan >>>>>>>>> grande >>>>>>>>> es la curva de aprendizaje para estos frameworks, la aplicación que >>>>>>>>> debo >>>>>>>>> construir es sencilla, sin grandes requerimientos, aunque va a ser >>>>>>>>> algo >>>>>>>>> concurrida, no puedo dar muchos detalles por ser confidencial pero va >>>>>>>>> a ser >>>>>>>>> utilizada a nivel nacional aunque por no muchos establecimientos, yo >>>>>>>>> calculo >>>>>>>>> que la concurrencia ha de estar entre 100-200 personas por hora. Lo >>>>>>>>> que >>>>>>>>> quiero evitar es comenzar a utilizar algo como ActiveRecords y luego >>>>>>>>> darme >>>>>>>>> cuenta que me va a dar problemas y deba echar para atrás parte de mi >>>>>>>>> desarrollo. >>>>>>>>> >>>>>>>>> Saludos, apreciaría si alguien tiene algún comentario sobre >>>>>>>>> ActiveRecords, si alguien lo ha utilizado en algún proyecto >>>>>>>>> empresarial. >>>>>>>>> >>>>>>>>> El 9 de febrero de 2011 05:01, Carlos Peix >>>>>>>>> <carlos.p...@gmail.com>escribió: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2011/2/8 Rodrigo Marquez <rodmarque...@gmail.com> >>>>>>>>>> >>>>>>>>>> al referirte al framework de attributes te refieres al Fluent >>>>>>>>>>> Nhibernate?, >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hay varias maneras de configurar los mapeos de NHibernate, todas >>>>>>>>>> ellas son distintas: >>>>>>>>>> >>>>>>>>>> - XML: archivos .hbm.xml, muy similar a Hibernate >>>>>>>>>> - Atributos: un proyecto de NH Contrib, desactualizado segun >>>>>>>>>> vi hace un tiempo >>>>>>>>>> - Castle ActiveRecord: no es solo configuracion, agrega >>>>>>>>>> servicios a NHibernate. Se configura con atributos similares a >>>>>>>>>> los que >>>>>>>>>> indicaste en tu ejemplo de JPA >>>>>>>>>> - FluentNHibernate: configura NH mediante una API fluent. >>>>>>>>>> Luego genera los mappings. >>>>>>>>>> - ConfORM: es una suerte de autoconfiguracion. Parte de >>>>>>>>>> ciertas reglas y del analisis de las clases de dominio. >>>>>>>>>> - Algun otro que se me escape... >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> porqué comentas que es engorroso?, hice un pequeño ejemplo pero no >>>>>>>>>>> lo suficiente como para dar un veredicto, así que me gustaría saber >>>>>>>>>>> un poco >>>>>>>>>>> mas del porqué de tu comentario, gracias!!! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Es una cuestion subjetiva, a muchos no nos gusta utilizar >>>>>>>>>> atributos de persistencia (u otros de infraestructura) en nuestro >>>>>>>>>> modelo. >>>>>>>>>> Ademas hay opciones que pemiten escribir menos y separado del >>>>>>>>>> dominio. >>>>>>>>>> >>>>>>>>>> Por ejemplo, con ConfORM, una vez que tenes establecidas las >>>>>>>>>> reglas, las cuales deben estar de acuerdo a tus convenciones de >>>>>>>>>> codificacion, no tenes que configurar nada con cada nueva clase que >>>>>>>>>> agreges >>>>>>>>>> (suponiendo que dejas que NHibernate genere tu esquema de base de >>>>>>>>>> datos). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Darío, José, a ambos gracias, me refirieron a Conform, por lo que >>>>>>>>>>> leo está interesante, se trata de un generador de modelos, es >>>>>>>>>>> decir, que >>>>>>>>>>> crea los xmls a partir de código, estoy en lo correcto? >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> No, es justo al reves. Vos escribis tu modelo y luego lo mapeas >>>>>>>>>> con ConfORM >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> lo han utilizado alguna vez? es estable? >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> A la primera pregunta: si, a la segunda: si, como cualquier otro >>>>>>>>>> software liberado luego de su version 1.0. Siempre es bueno tener >>>>>>>>>> tests. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Muchisimas gracias!! >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> ---------------------------------- >>>>>>>>>> Carlos Peix >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> El 8 de febrero de 2011 17:57, José F. Romaniello < >>>>>>>>>>> jfromanie...@gmail.com> escribió: >>>>>>>>>>> >>>>>>>>>>> Habia un proyecto NHibernate MappingsAttribuetes en contrib creo >>>>>>>>>>>> pero >>>>>>>>>>>> esta olvidado, la unica opción con atributos es activerecord >>>>>>>>>>>> (castle >>>>>>>>>>>> project). >>>>>>>>>>>> Según fabio en nhibernate no se mapea más, desde el proyecto >>>>>>>>>>>> conform. >>>>>>>>>>>> >>>>>>>>>>>> El 08/02/11, rodmarquez21 <rodmarque...@gmail.com> escribió: >>>>>>>>>>>> > Buenas tardes a todo@s, vengo de Hibernate 3, para java, lo >>>>>>>>>>>> he usado >>>>>>>>>>>> > con JPA, es decir, con anotaciones, ya no se usa el XML para >>>>>>>>>>>> mapear >>>>>>>>>>>> > los atributos, saben si el NHibernate puede trabajar con algo >>>>>>>>>>>> parecido >>>>>>>>>>>> > al JPA???, algo así: >>>>>>>>>>>> > >>>>>>>>>>>> > @Entity >>>>>>>>>>>> > @Table(name="tbl_sky") >>>>>>>>>>>> > public class Sky implements Serializable { >>>>>>>>>>>> > ... >>>>>>>>>>>> > } >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > o... >>>>>>>>>>>> > >>>>>>>>>>>> > @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, >>>>>>>>>>>> > generator="SEQ_STORE") >>>>>>>>>>>> > public Integer getId() { ... } >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > El @ marca las anotaciones, hay algo así para .NET? >>>>>>>>>>>> > >>>>>>>>>>>> > Gracias de antemano!! >>>>>>>>>>>> > >>>>>>>>>>>> > -- >>>>>>>>>>>> > Para escribir al Grupo, hágalo a esta dirección: >>>>>>>>>>>> > NHibernate-Hispano@googlegroups.com >>>>>>>>>>>> > Para más, visite: >>>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Enviado desde mi dispositivo móvil >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>>>>>>> Para más, visite: >>>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>>>>>> Para más, visite: >>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>>>>> Para más, visite: >>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>>>> Para más, visite: >>>>>>>>> http://groups.google.com/group/NHibernate-Hispano >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>>> NHibernate-Hispano@googlegroups.com >>>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Fabio Maulo >>>>>> >>>>>> -- >>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>> NHibernate-Hispano@googlegroups.com >>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>>> >>>>> >>>>> -- >>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>> NHibernate-Hispano@googlegroups.com >>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>> >>>> >>>> >>>> >>>> -- >>>> Fabio Maulo >>>> >>>> -- >>>> Para escribir al Grupo, hágalo a esta dirección: >>>> NHibernate-Hispano@googlegroups.com >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>> >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> NHibernate-Hispano@googlegroups.com >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> >> >> -- >> Fabio Maulo >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> NHibernate-Hispano@googlegroups.com >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > NHibernate-Hispano@googlegroups.com > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@googlegroups.com Para más, visite: http://groups.google.com/group/NHibernate-Hispano