Problème avec les OneToMany relations
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:
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);
} |