J'ai une entité dans mon système, qui a naturellement besoin d'un identifiant pour pouvoir l'identifier de manière unique. En supposant que la base de données est utilisée pour générer l'identifiant avec Hibernate, en utilisant la stratégie native, alors évidemment le code de l'application est libre de cette possibilité d'assigner des identifiants. Maintenant, une instance de cette entité peut-elle être considérée comme valide avant d'être persistante et d'obtenir son identifiant? Ou devrais-je utiliser une autre stratégie pour assigner leurs identifiants à mes entités afin qu'elles obtiennent leur identifiant quand leur constructeur est appelé?DDD Entity et son identifiant
7
A
Répondre
6
C'est un vaste sujet, mais voici deux possibilités:
Définissez vos
hashCode()
etequals(..)
contrats basés sur business keys. Par exemple, pour une entitéUser
, il s'agit du nom d'utilisateur plutôt que de l'ID généré automatiquement. Ainsi, vous serez en mesure d'utiliser l'entité dans les collections avant qu'elle ne soit conservéeutilisez
UUID
comme clé primaire et gérez vous-même la génération. Voir this article par Jeff Atwood et this article la démonstration d'une façon de l'utiliser avec Hibernate
(Puisque vous parlez de DDD et mise en veille prolongée, jetez un oeil à la mine this article)
Questions connexes
- 1. Modèles Entity Framework 4.0 et DDD
- 2. Questions concernant Entity Framework + DDD
- 3. DDD et Référentiels usines
- 4. DDD et Ent Lib
- 5. nhibernate et DDD suggestion
- 6. Implémentation de la classe DDD Entity en C#
- 7. Entity Framework Foreign Key (ou son absence)
- 8. Comment obtenir le nom de fichier par son identifiant unique?
- 9. Identification d'un périphérique en récupérant son identifiant USB
- 10. multipart Identifiant et fonctions
- 11. mettre en forme un nombre en gardant son identifiant php
- 12. Comment supprimer un élément du DOM, étant donné son identifiant?
- 13. DDD/Repository
- 14. DDD Repositories
- 15. DDD - Enity Framework 4 et ncommon
- 16. DDD. Modèle de domaine et consignation
- 17. Sous-classes et classes abstraites dans DDD
- 18. Comment gérez-vous DDD et EF4
- 19. Premiers pas avec TDD et DDD
- 20. La place de Entity Framework 4.0 + POCO + WCF en DDD "monde"
- 21. Quel est l'avantage d'utiliser un autre modèle avec Entity Framework dans DDD
- 22. DDD: Racines agrégées
- 23. DDD Question de modélisation
- 24. Workflow Foundation avec DDD
- 25. concept de qualificateur ddd
- 26. Est-ce un anti-pattern ddd?
- 27. Entity framework et Exists clause
- 28. Modèle MVC + modèle DDD
- 29. Exemple DDD .NET
- 30. Comment démarrer DDD?
Merci, je pense que je vais aller avec la deuxième option, va générer des identifiants moi-même. –
+1 pour l'article GUID –