Estoy leyendo el libro de Eric Evans sobre DDD y tengo una pregunta para la siguiente cita. ¿Cómo se hace su método equals()
cuando no debe usar los atributos? Estoy usando JPA y tengo un atributo de identificación que es único, pero esto no se establece hasta que realmente persista la entidad. Entonces, ¿Qué haces? He implementado el método equals basado en los atributos y entiendo por qué no deberías hacerlo porque falló en mi proyecto.Entidades en el diseño impulsado por dominio
sección acerca de las entidades:
Cuando un objeto se distingue por su identidad, en lugar de sus atributos , hacen de esta primaria a su definición en el modelo. Mantenga la definición de clase simple y centrada en la continuidad del ciclo de vida y la identidad . Defina un medio para distinguir cada objeto independientemente de su forma o historial. Esté atento a los requisitos que requieren la coincidencia de objetos por atributos. Defina una operación que esté garantizada en y produzca un resultado único para cada objeto, posiblemente adjuntando un símbolo que sea único. Este medio de identificación puede venir del exterior, o puede ser un identificador arbitrario creado por y para el sistema, pero debe corresponder a las distinciones de identidad en el modelo. El modelo debe definir lo que significa ser lo mismo.
http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
duplicado Posible, ver http://stackoverflow.com/questions/5031614/the-jpa-hashcode-equals-dilemma – MRalwasser
El ello me da buenos resultados: http://stackoverflow.com/questions/7579404/using-auto-generated-id-of-hibenate-entity-object-in-the-equals-and-hashcode-met – NimChimpsky