A mi no me resulta penoso ni molesto escribir mappings en XML, es una tarea
que me lleva una fraccion del tiempo que dedico a programar.

Cuando programo y necesito uno o dos campos mas en mi objeto, los agrego y
tambien agrego el mapping. Me lleva el mismo tiempo escribir en el XML que
en mi clase.

Distinto sera el caso, supongo, de aquel que tiene que escribir el mapping
de 200 clases de una sola vez,

Ultimamente estoy usando ConfORM porque me resulta todavia mas comodo.

----------------------------------
Carlos Peix

2011/2/10 Edgar Ramos <[email protected]>

> 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 <[email protected]>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 <[email protected]>
>>
>>> 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 <[email protected]>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 <[email protected]>
>>>>
>>>>> 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 
>>>>> <[email protected]>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 <[email protected]>
>>>>>>
>>>>>>>  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 
>>>>>>> <[email protected]>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 <[email protected]>
>>>>>>>>
>>>>>>>>> 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 
>>>>>>>>> <[email protected]>escribió:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2011/2/8 Rodrigo Marquez <[email protected]>
>>>>>>>>>>
>>>>>>>>>> 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 <
>>>>>>>>>>> [email protected]> 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 <[email protected]> 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:
>>>>>>>>>>>> > [email protected]
>>>>>>>>>>>> > 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:
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> Para más, visite:
>>>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  --
>>>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>>>>>>> [email protected]
>>>>>>>>>>> Para más, visite:
>>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  --
>>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>>>>>> [email protected]
>>>>>>>>>> Para más, visite:
>>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  --
>>>>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>>>>> [email protected]
>>>>>>>>> Para más, visite:
>>>>>>>>> http://groups.google.com/group/NHibernate-Hispano
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>>>> [email protected]
>>>>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>>> [email protected]
>>>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Fabio Maulo
>>>>>>
>>>>>>  --
>>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>>> [email protected]
>>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>>>
>>>>>
>>>>>  --
>>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>>> [email protected]
>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>>  --
>>>> Para escribir al Grupo, hágalo a esta dirección:
>>>> [email protected]
>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>>
>>>
>>>  --
>>> Para escribir al Grupo, hágalo a esta dirección:
>>> [email protected]
>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>
>>
>>
>> --
>> Fabio Maulo
>>
>>  --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a