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

Responder a