Estoy (casi) seguro de que no se necesita para NH. En general solo se necesita si la implementación de la clase base (casi siempre Object) no te satisface. Vas a encontrar varios artículos en la web sobre el tema.
Porque no hace diferencia para objetos persistentes? Porque NH se asegura de no tener en memoria, en una sesión, dos instancias (de un mismo tipo) con el mismo ID. La implementación de Equals de Object utiliza la dirección de memoria de la instancia para comparar. En los casos en que lo he visto en objetos persistentes es cuando queres hacer comparaciones ANTES de persistir el objeto, es decir, cuando es transient (en terminología NH), habría que ver si es tu caso pero la implementación, en ese caso, no se basa solo en ID. Distinto es el caso de estructura o valué types, donde siempre es aconsejable implementar Equals, pero en estructuras no deberías tener IDs ;-) Carlos Peix (desde el teléfono móvil) El 17/02/2011, a las 14:06, Juan Cuello <[email protected]> escribió: > Perdón, ya entiendo lo del natural id. > > Lo del Equals y GetHashCode... tenéis una respuesta para mí? > > No se necesita para que funcione NH? Hasta qué punto es > necesario implementar el Equals y GetHashCode? > > Gracias > > On 17 feb, 17:59, Juan Cuello <[email protected]> wrote: >> Fabio me ha pasado la lista de VANs de altnet que no conocía. Voy a >> ver todos los videos! :) >> >> Por otro lado, señores, me podéis hablar como si fuera tonto? jejeje >> >> José, no sé lo que es un natural-id. Puedes explicármelo en un par de >> líneas? >> >> Carlos: No se necesita para que funcione NH? Hasta qué punto es >> necesario implementar el Equals? >> >> Gracias como siempre :) >> >> On 17 feb, 17:38, Carlos Peix <[email protected]> wrote: >> >> >> >> >> >> >> >>> 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]> >>>> 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] >>>> 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
