Bonjour à tous,
je voudrais créer une table de tradution pour les pays
Je voudrais les entities
j'ai 3 tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class Content{ ... Map<Language,ContentI18N> translations; ... public String getTitle(Language language){ return translations.get(language).getTitle(); } public String getContent(Language language){ return translations.get(language).getContent(); } ... } public class ContentI18N{ public String getTitle(Language language){ return title; } public String getContent(Language language){ return content; } }
content( id,contentkey)
contenti18n( content_id, language_id,title,content )
language (id,languagekey)
content :
1 | content1
2 | content2
language :
1 | fr
2 | en
contenti18n
1 | 1 | Mon titre en français | Mon texte en français
1 | 2 | English title | English text
en sql pour obtenir toute les entrées il suffit de faire :
SELECT *
FROM `content`
JOIN contenti18n ON content.id = contenti18n.content_id
et pour obtenir une valeur en particulier :
SELECT *
FROM `content`
JOIN contenti18n ON content.id = contenti18n.content_id
where language_id= ?
Je n'ai pas réussi à faire le mapping. Ca doit être possible j'imagine.
J'ai essayé pas mal de truc avec ManyToOne dans l'entity Content sans succès
Quelqu'un sait il comment il faudrait faire?
Partager