2017-06-08 90 views
6

Główna aplikacja, nad którą pracuję, musi obsługiwać dwujęzyczne aplikacje internetowe w niedalekiej przyszłości.Tabele lokalizacyjne w widoku klasy/obiektu

Kilka tabel transakcji i wszystkie statyczne tabele zawierają dane lokalizacyjne.

Jestem zagubiony w reprezentowaniu tych danych w modelu obiektu. Czy tablica lokalizacyjna powinna być reprezentowana jako mapa lub lista obiektów lokalizacji w głównym obiekcie?

Poniżej jest model danych,

DEAL table 
------------------------------------------------------------------------ 
DEAL_ID | DEAL_NAME | DEAL_OWNER | CREATED_DATE | CREATED_BY | DEAL_TYPE 
1   test  test   29-10-2105  user   1 
2   test  test   29-10-2105  user   2 
3   test  test   29-10-2105  user   2 
4   test  test   29-10-2105  user   1 

DEAL_LOCALIZATION table 
------------------------------------------------------------------------ 
DEAL_ID | LANGUAGE_CODE | DEAL_NAME | DEAL_DESC 
1    en   test1  test name 
1    jp   テスト1  test name 
2    en   test2  test name 
2    jp   テスト2  test name 


DEAL_TYPE table 
------------------------------------------------------------------------- 
ID 
1 
2 

DEAL_TYPE_LOCALIZATION table 
------------------------------------------------------------------------- 
ID | LANGUAGE_CODE | TYPE_NAME 
1   en   dealtype1 
2   en   dealtype2 
1   jp   ビジネスケース1 
2   jp   ビジネスケース2 

Jeżeli przedmiotem Deal ma listę DealType, obiektu DealLocalization lub Deal obiekt powinien mieć mapę Dealtype, DealLocalization obiektów z LocalKey (id, languageCode) przedmiot jako klucz.

Z góry dziękuję za sugestie.

Odpowiedz

2

W Hibernate,

@OneToOne(cascade = CascadeType.ALL) 
@JoinColumn(name = "DEAL_ID") 
public Deal getDeal() { 
    return deal; 
} 

w klasie Deal_Localization będzie prawdopodobnie wystarczy. Czy naprawdę potrzebujesz czegoś więcej?