Bonjour,
J'ai deux classes Word et Translation. Ces entités sont reliées par une relation OneToMany (Un mot peut contenir plusieurs traductions, et une traduction appartient à un mot).
Ce que je voudrais, c'est que mes traductions soient insérées lorsque je sauvegarde mon mot (d'où le cascade = CascadeType.ALL).
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 @Entity @Table(name = "word") public class Word implements Serializable { @OneToMany(mappedBy = "word", cascade = CascadeType.ALL, fetch = FetchType.LAZY) private List<Translation> translations = new ArrayList<Translation>(); } @Entity @Table(name = "translation") public class Translation implements Serializable { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "id_word",nullable = false) private Word word; }
Pour l'instant je fais comme cela :
Cela fonctionne bien mais j'aimerais me passer de l'instruction translation.setWord(word);.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Translation translation = new Translation(); Word word = new Word(); word.getTranslations().add(translation); translation.setWord(word); em.persist(word)
En gros je voudrais qu'il insert ma traduction et qu'il la lie au mot, uniquement en ajoutant la traduction au mot word.getTranslations().add(translation);. Seulement pour l'instant si j'écris uniquement cette instruction, il ne lie pas la traduction à mon mot !
cordialement
Partager