Decyzja projektowa- unikalność według dwóch atrybutów

0

Cześć piszę aplikację w Javie i Hibernate i mam problem, jak projektowo rozwiązać sprawę:
Mam dwa atrybuty: numer oraz ośrodek. Numer musi być unikalny ale tylko per ośrodek. Tzn dla encji o różnych ośrodkach może być numer taki sam, w tym samym ośrodku unikalny. A więc para {numer,ośrodek} musi być unikalna. na razie mam 5 takich ośrodków, ale może w przyszlości ich liczba wzrosnąć. Problem w tym, jak najlepiej rozwiązać problem nadawania nowych wartości dla numeru w zalezności właśnie od ośrodka..

0

Bardzo to mętnie opisałeś, ale jak rozumiem masz Ośredek i jakąś drugą encję (Numery?) w realicji 1:Many? Jeżeli tak to ta druga encja ma pewnie pola takie jak id, id_ośrodku i numer. Jeżeli tak możesz zalozyć jednego unikalnego constrainta na dwie wartości (numer, id_ośrodka) - dzięki temu będziesz miał unikalne numery w obrębie ośrodka.

0

Zakładam, że skoro używasz Hibernate to masz to w bazie danych. A bazy danych pozwalają na tworzenie unikalnych kluczy, które mogą składać się z dwóch kolumn. Więc wystarczy np. w Oracle'u:
ADD CONSTRAINT UK_NAME UNIQUE (column1, column2);
i po sprawie.

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