Comprobalo tu mismo
http://fabiomaulo.blogspot.com/2010/11/conform-any-to-many.html

2011/2/10 Rodrigo Marquez <[email protected]>

> Una pregunta, ConfORM te evita el mapeo en xml por completo?
>
> El 10 de febrero de 2011 16:46, Carlos Peix <[email protected]>escribió:
>
> 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
>>
>
>  --
> 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

Responder a