Salve a tutti,
Sto cercando di mappare delle tabelle in un database con la seguente struttura. (utilizzando il framework hibernate)
Lo scopo finale è quello di poter gestire l'internazionalizzazione a livello dei dati (nome delle località, nazioni, e altri termini,...)codice:+-------------+ +-----------------+ +----------------+ |country | | country_i18n | | language | +-------------+ 1..1 --------- 0..n +-----------------+ 0..n ------------- 1..1+----------------+ | id (pk) | | id (pk) | | id (pk) | | code (uk) | | name | | code (uk) | +-------------+ | language_id (fk)| | name | | country_id (fk) | +----------------+ +-----------------+
Vorrei fare in modo di mappare in uno di questi modi:
1) country e countryI18n diventano in una sola classe i18n
2) country come classe astratta e countryI18n che eredita da country
3) composizione fra country e countryi18n senza usare delle collezioni (quindi invece di avere List<CountryI18n> nella classe country ci sarebbe solo CountryI18n country) --> sarebbe la soluzione che desidererei
In pratica il risultato sarebbe:
1) soluzione 1
Soluzione 2)codice:public class CountryI18n { Integer id String code String nome_tradotto }
Soluzione 3)codice:public abstract class Country { Integer id String code } public class CountryI18n extends Country { String nome_tradotto Language language }
Come potrei fare per mappare le classi in uno dei tre modi. Secondo voi quale soluzione è la più elegante e concettualmente giusta?codice:public class Country { Integer id String code CountryI18n paese_tradotto } public class CountryI18n { Integer id String nome_tradotto Language language }
Grazie![]()

Rispondi quotando
