Hibernate - optymalne trzymanie info. o kraju

0

Hej
Mam takie pytanie natury koncepcyjnej.

Mam klasę usera i jedną z informacji o nim jest informacja o kraju.
Nie wiem jak najlepiej rozwiązać kwestię trzymania info o kraju:

  1. Tabela w bazie (kod_kraju, nazwa) + referencja w modelu do obiektu Country
  2. Kraje trzymane lokalnie w tablicy (w modelu kod kraju)

Może jeszcze inne rozwiązanie?

Prosiłbym o doradzenie jak sobie z tym poradzić :)

0

To zalezy.
Jesli program bedzie mial wielu uzytkownikow (i mowimy tutaj o serwerze) to ja bym bardziej dbal o takie zasoby jak RAM niz wielkosc bazy danych.
Jesli nie, to lista panstw nie jest az tak duza a jesli to bedzie tylko lista w postaci String to moim zdaniem lepiej to zapisac w jakiejs klasie jesli bedzie czesto uzywana, niz w bazie i na dzien dobry sie do niej odwolywac po te dane.

0

Jak java>1.5 to można użyć ENUMa i będzie git.

0

Zalety trzymania w bazie:

  • baza kontroluje spójność, nie da się wstawić usera o nieistniejącym kraju
  • można rozszerzać system o nowe państwa przez zwykłe dodanie rekordów do odpowiedniej tabeli
  • baza daje Ci możliwość wyciągnięcia listy wszystkich krajów od razu posortowanej alfabetycznie

Wydajnością bym się nie przejmował tak bardzo, w Hibernate możesz sobie taką tabelkę w całości zbuforować w cache 2 poziomu, więc narzut będzie znikomy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1