Posiadam w moim systemie podmiot, który naturalnie potrzebuje identyfikatora, aby można go było jednoznacznie zidentyfikować. Zakładając, że baza danych jest używana do generowania identyfikatora za pomocą Hibernate, używając strategii natywnej, oczywiście kod aplikacji jest wolny od tej odpowiedzialności przypisywania identyfikatorów. Czy instancja tej jednostki może zostać uznana za ważną przed jej utrwaleniem i otrzymaniem jej identyfikatora? Czy powinienem użyć jakiejś innej strategii, aby przypisać moje jednostki ich identyfikatory, aby otrzymały swój identyfikator po wywołaniu swojego konstruktora?Jednostka DDD i jej identyfikator
7
A
Odpowiedz
6
To rozległy temat, ale tutaj są dwie możliwości:
zdefiniować
hashCode()
iequals(..)
kontrakty oparte na business keys. Na przykład dla jednostkiUser
będzie to nazwa użytkownika, a nie automatycznie generowany identyfikator. W ten sposób będziesz mógł używać encji w kolekcjach, zanim utrwali ją jako klucz podstawowy, a następnie obsłużysz ją jako klucz podstawowy. Zobacz this article Jeff Atwood i this article demonstrując sposób używać go z hibernacji
(ponieważ można wymienić DDD i hibernacji przyjrzeć this article kopalni)
Powiązane problemy
- 1. TDD, DDD i enkapsulacja
- 2. Nie identyfikator/klucz podstawowy określony dla jednostki (...) Każda jednostka musi mieć identyfikator i/primary key
- 3. Podstawy DDD i projekt projektu ASP.NET MVC
- 4. Modyfikacja @OneToMany jednostka Spring danych spoczywają, bez jej składowania
- 5. DDD: podklasy i podmioty korzeniowe
- 6. Implementacja DDD
- 7. Jednostka testowania i struktura jednostek
- 8. Jednostka pracy, repozytoria i IDisposable
- 9. Hibernate SchemaExport i Trwałość jednostka
- 10. DDD i korzystanie z Getters and Setters
- 11. DDD - Korzenie agregatów i tworzenie obiektów behawioralnych
- 12. Repozytoria opakowań i ich interfejsy w DDD
- 13. DDD usługi infrastrukturalne
- 14. Łączenie kropek z DDD
- 15. Usługa uwierzytelniania DDD
- 16. DDD - Jak wdrożyć fabryki
- 17. DDD Zasady zabezpieczeń użytkownika
- 18. Przejęcie sesji PHP i jej metody
- 19. jednostka jednostka ramy + + lub repozytorium pytanie
- 20. CRUD w usługach DDD?
- 21. Jak można usunąć encję w nhibernate mającą tylko jej identyfikator i typ?
- 22. Jednostka iTextSharp
- 23. Identyfikator foreach i zamknięcia
- 24. Jednostka testująca viewmodels i kpiąca z zależności
- 25. php DAL - osobna jednostka i baza danych?
- 26. Jednostka tłumaczeniowa w C i C++
- 27. Jednostka macierzysta i związek w podstawowych danych
- 28. Uruchamianie ddd ze zdalnym gdbserver
- 29. Relacje między podmiotami w DDD
- 30. unikalne sprawdzanie poprawności w DDD
Dzięki, myślę, że pójdę z druga opcja, sama wygeneruje identyfikatory. –
+1 dla artykułu GUID –