Tengo una entidad en mi sistema, que naturalmente necesita un identificador para poder identificarlo de manera única. Suponiendo que la base de datos se utiliza para generar el identificador con Hibernate, utilizando la estrategia nativa, obviamente el código de la aplicación no tiene esta responsabilidad de asignar identificadores. Ahora, ¿puede una instancia de esa entidad considerarse válida antes de que se conserve y obtenga su identificador? ¿O debería usar alguna otra estrategia para asignar a mis entidades sus identificadores para que obtenga su identificador cuando se llama a su constructor?Entidad DDD y su identificador
7
A
Respuesta
6
Eso es un extenso tema, pero aquí hay dos posibilidades:
definir su
hashCode()
yequals(..)
contratos basados en business keys. Por ejemplo, para una entidadUser
, este sería el nombre de usuario, en lugar del ID generado automáticamente. Por lo tanto, podrá usar la entidad en colecciones antes de que se conserveuse
UUID
como clave principal y gestione la generación usted mismo. Ver this article por Jeff Atwood y this article que demuestra una manera de utilizarla con Hibernate
(Ya que mencionas DDD y de hibernación, echar un vistazo a this article mío)
Cuestiones relacionadas
- 1. DDD - transición de estado Entidad
- 2. DDD: subclases y entidades raíz
- 3. marco Entidad - conseguir entidad por su nombre
- 4. TDD, DDD y encapsulación
- 5. DDD - ¿Repositorio por entidad o uno para todo?
- 6. DDD: ¿Debería encajar todo en Entidad u Objeto de valor?
- 7. DDD: etiqueta SO. Una entidad o tipo de valor?
- 8. DDD, repositorio y encapsulación
- 9. ¿Cómo entreno un identificador de identificador de entidad con nombre en OpenNLP?
- 10. DDD
- 11. Entidad separada y entidad administrada
- 12. Cómo lidiar con DDD y EF4
- 13. ¿Es esto realmente DDD?
- 14. DDD y validación del lado del cliente
- 15. DDD: Agregue raíces
- 16. DDD Domain Model Complex Validation
- 17. Cómo cambiar el propietario de una ventana usando su identificador
- 18. DDD - Responsabilidad de creación y validación de entidades
- 19. ¿Cómo puedo seleccionar una pestaña de IE desde su identificador
- 20. DDD: ¿Los objetos de conexión son objeto de entidad u objeto de valor?
- 21. acceso a datos en DDD?
- 22. DDD: pregunta de raíz agregada
- 23. DDD, JPA y Multi-Module Maven
- 24. DDD, objetos de valor y ORM
- 25. Pros y contras de DDD Repositorios
- 26. DDD - Agregada Raíz - Ejemplo Orden y OrderLine
- 27. DDD, NHibernate, y estructura/nombre de proyecto
- 28. Servicios y repositorios en DDD (C#)
- 29. ¿Funcionan realmente bien DDD y SOA?
- 30. DDD: Ayúdenme a comprender mejor objetos y entidades de valor
Gracias, creo que voy a ir con la segunda opción, generará identificadores yo mismo. –
+1 para el artículo GUID –