2017-06-08 4 views
6

Die Kernanwendung, an der ich arbeite, muss in naher Zukunft eine zweisprachige Webanwendung unterstützen.Lokalisierungstabellen in Klassen-/Objektansicht

Nur wenige der Transaktionstabelle und alle statischen Tabellen verfügen über Lokalisierungsdaten.

Ich bin verloren bei der Darstellung dieser Daten am Objektmodell. Soll die Lokalisierungstabelle als Map oder Liste von Lokalisierungsobjekten im Hauptobjekt dargestellt werden?

Unterhalb das Datenmodell ist

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 

Sollte das Objekt Deal hat eine Liste von DealType, DealLocalization Objekt oder ein Objekt Deal Karte von Dealtype haben sollte, DealLocalization Objekte mit einem LocalKey (id, Language) Objekt als Schlüssel.

Vielen Dank im Voraus für Anregungen.

Antwort

2

In Hibernate,

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

in der Deal_Localization Klasse wahrscheinlich ausreichen würde. Brauchst du wirklich noch etwas mehr?