Bonjour, pour m'initier à JTA et au relation OneToMany j'ai tenté de tester l'exemple suivant :
http://www.vogella.de/articles/JavaP....html#jpaintro
Lorsque j'exécute l'exemple, je me retrouve bien avec une entrée dans la table famille et une quarantaine de personnes créées dans la table personne.
Cependant le champ Family_ID de la table personne est toujours initialisé à NULL plutôt qu'avec le numéro de famille créé.
J'ai pu corriger le problème en ajoutant la ligne suivante (en gras) :
Par contre, je ne comprends pas pourquoi je dois ajouter cette ligne. Je me serais attendu à ce que la persistance initialise le champs automatiquement comme semble le laisser croire l'auteur de l'exemple. Est-ce un oubli de ma part?
Merci pour votre aide
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 assertTrue(q.getResultList().size() == 0); Family family = new Family(); family.setDescription("Family for the Knopfs"); em.persist(family); for (int i = 0; i < 40; i++) { Person person = new Person(); person.setFirstName("Jim_" + i); person.setLastName("Knopf_" + i); em.persist(person); // First we have to persists the job // Now persists the new person family.getMembers().add(person); person.setFamily(family); em.persist(person); em.persist(family); }
Partager