Reflection para obtener el hashcode? 2011/2/18 Juan Cuello <[email protected]>
> Acabo de encontrar una implementación mejor: > > > http://sharp-architecture.googlecode.com/svn/trunk/src/SharpArch/SharpArch.Core/DomainModel/BaseObject.cs > > Y con ésta y algún atributo marcando las propiedades que intervienen > ni siquiera se necesita que las clases derivadas intervengan en Equals > y GetHashCode... > > Y encima soporta natural-id! > > Voy a incorporarlo :) > > On 18 feb, 12:40, Juan Cuello <[email protected]> wrote: > > Vamos... que lo sigo implementando en mis clases... :) > > > > Vi una implementación hace ya mucho tiempo y siempre uso esa en una > > clase base: > http://devlicio.us/blogs/billy_mccafferty/archive/2007/04/25/using-eq... > > > > Esa implementación me gusta porque hace que las entidades sólo tengan > > que implementar el GetHashCode. Pero con esa implementación no puedo > > usar natural-id... Nadie es perfecto :) > > > > Por cierto, ¿por qué se sigue utilizando el Iesi Collections? Yo > > pensaba que para NH 3 desaparecería. Alguien me dijo creo que era por > > el tema de ISet. ¿Tal vez es por compatibilidad? > > > > On 17 feb, 23:41, Carlos Peix <[email protected]> wrote: > > > > > > > > > > > > > > > > > Pucha... > > > > > Retiro lo dicho entonces, tendre que investigar... > > > > > ---------------------------------- > > > Carlos Peix > > > > > 2011/2/17 Fabio Maulo <[email protected]> > > > > > > para NH, en si, no es obligatorio. > > > > Peeeeeeeeeeeero: > > > > 1) la mejor collection para DDD es un set > > > > 2) set es una de la collections mas usada en dominios > > > > 3) si no tenes getHashCode/Equals y trabajas con Set es probables que > en > > > > algun momentos llores > > > > > > De allí en mas podemos discutir cuanto quieras y hasta te puedo decir > que > > > > para one-to-many es casi siempre preferible usar List y hacer el > control de > > > > duplicacción en el ADD solo si realmente lo necesitas (con <bag> el > Add no > > > > necesita inicializar la collection). > > > > > > 2011/2/17 Carlos Peix <[email protected]> > > > > > >> e per que? El link que envio Edgar es claro al respecto... > > > > > >> Hay riesgo suponiendo que siempre trabajo con una unica sesion y con > > > >> objetos persistentes? > > > > > >> En otras palabras, es obligatorio sobre escribir Equals y > GeHashcode? > > > > > >> ---------------------------------- > > > >> Carlos Peix > > > > > >> 2011/2/17 Fabio Maulo <[email protected]> > > > > > >>> bah... despues no llores si no te andan los ISet > > > > > >>> 2011/2/17 Carlos Peix <[email protected]> > > > > > >>>> O podes no implementarlos... > > > > > >>>> Carlos Peix > > > >>>> (desde el teléfono móvil) > > > > > >>>> El 17/02/2011, a las 12:51, José F. Romaniello < > [email protected]> > > > >>>> escribió: > > > > > >>>> hola Juan pronto estará disponible el vídeo de una VAN que hicimos > el > > > >>>> sábado pasado con Nelo en AltNet hispano. En un momento de la VAN > discutimos > > > >>>> este tema con Fabio.. > > > > > >>>> El tema es el siguiente, cuando no tenes ID en el dominio, > generalmente > > > >>>> tenes natural-id. Osea que podes usar eso para implementar Equals > y > > > >>>> GetHashCode > > > > > >>>> El 17 de febrero de 2011 12:42, Juan Cuello < < > [email protected]> > > > >>>> [email protected]> escribió: > > > > > >>>>> Hola, > > > > > >>>>> He visto por ahí que podemos tener una entidad del dominio sin > una > > > >>>>> propiedad id que se mapee con el campo id de la base de datos. > Eso me > > > >>>>> parece genial, ya que considero que el ID es de la base de datos, > no > > > >>>>> tiene por qué ser del dominio. > > > > > >>>>> Pero se me ocurre una pregunta importante. En mi clase base para > las > > > >>>>> entidades del dominio, tengo un Equals y GetHashCode. En el > Equals, si > > > >>>>> la entidad tiene ID establecido, comparo ID's... > > > > > >>>>> ¿Cómo se haría el equals y el gethashcode si no tengo id's en la > > > >>>>> entidad? > > > > > >>>>> Gracias > > > > > >>>>> -- > > > >>>>> Para escribir al Grupo, hágalo a esta dirección: > > > >>>>> <[email protected]> > > > >>>>> [email protected] > > > >>>>> Para más, visite: < > http://groups.google.com/group/NHibernate-Hispano> > > > >>>>>http://groups.google.com/group/NHibernate-Hispano > > > > > >>>> -- > > > >>>> Para escribir al Grupo, hágalo a esta dirección: > > > >>>> <[email protected]> > > > >>>> [email protected] > > > >>>> Para más, visite: < > http://groups.google.com/group/NHibernate-Hispano> > > > >>>>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
