2011-07-05 4 views
1

Je suis nouveau à Hibernate et suivant le tutoriel au http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-one-to-many-using-annotations-1.html, j'ai une question sur la classe principale dans ce tutoriel.Hibernate mise à jour tableau

Je comprends que

 
Set phoneNumbers = new HashSet(); 
phoneNumbers.add(new Phone("house","32354353")); 
phoneNumbers.add(new Phone("mobile","9889343423")); 
Student student = new Student("Eswar", phoneNumbers); 
session.save(student); 
transaction.commit(); 

insérer de nouveaux enregistrements dans trois tableaux. Mais si cet étudiant obtient un autre numéro

 
Phone work = new Phone("mobile","12345678"); 

Comment mettre à jour les tables PHONE et STUDENT_PHONE. Merci.

Répondre

0

Il vous manque un certain nombre de choses. Ce code fonctionnera:

Set phoneNumbers = new HashSet(); 
student.setPhoneNumbers(phoneNumbers); // Add the phone numbers to the Student 

Phone phone = new Phone("house","32354353"); 
session.save(phone); // Persist the new object 
phoneNumbers.add(phone); 

Phone phone = new Phone("mobile","9889343423"); 
session.save(phone); // Persist the new object 
phoneNumbers.add(phone); 

Student student = new Student("Eswar", phoneNumbers); 
session.save(student); 
transaction.commit(); 
+0

Merci pour votre réponse. Je n'ai probablement pas bien expliqué ma question. Je peux faire fonctionner le code. Ce que je veux savoir, c'est après avoir couru la classe principale dans le tutoriel, il y a un étudiant avec le nom "Eswar" dans la table STUDENT. Mais plus tard, nous voulons mettre à jour les détails d'Eswar en ajoutant dans son numéro de téléphone de travail, que dois-je faire avec lui. J'ai essayé d'utiliser session.save (étudiant), mais j'ai deux entrées "Eswar" dans la table STUDENT. – user200340

Questions connexes